| f | module Cisco-IOS-XR-um-router-ospf-cfg { | f | module Cisco-IOS-XR-um-router-ospf-cfg { |
| namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-ospf-cfg"; | | namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-ospf-cfg"; |
| prefix um-router-ospf-cfg; | | prefix um-router-ospf-cfg; |
| | | |
| import cisco-semver { | | import cisco-semver { |
| prefix semver; | | prefix semver; |
| } | | } |
| import Cisco-IOS-XR-types { | | import Cisco-IOS-XR-types { |
| prefix xr; | | prefix xr; |
| } | | } |
| import ietf-inet-types { | | import ietf-inet-types { |
| prefix inet; | | prefix inet; |
| } | | } |
| import Cisco-IOS-XR-um-snmp-server-cfg { | | import Cisco-IOS-XR-um-snmp-server-cfg { |
| prefix a1; | | prefix a1; |
| } | | } |
| import tailf-common { | | import tailf-common { |
| prefix tailf; | | prefix tailf; |
| } | | } |
| | | |
| organization | | organization |
| "Cisco Systems, Inc."; | | "Cisco Systems, Inc."; |
| contact | | contact |
| "Cisco Systems, Inc. | | "Cisco Systems, Inc. |
| Customer Service | | Customer Service |
| | | |
| Postal: 170 West Tasman Drive | | Postal: 170 West Tasman Drive |
| San Jose, CA 95134 | | San Jose, CA 95134 |
| | | |
| Tel: +1 800 553-NETS | | Tel: +1 800 553-NETS |
| | | |
| E-mail: cs-yang@cisco.com"; | | E-mail: cs-yang@cisco.com"; |
| description | | description |
| "This module contains a collection of YANG definitions | | "This module contains a collection of YANG definitions |
| for Cisco IOS-XR router-ospf package configuration. | | for Cisco IOS-XR router-ospf package configuration. |
| | | |
| This YANG module augments the | | This YANG module augments the |
| modules with configuration data. | | modules with configuration data. |
| | | |
| Copyright (c) 2019-2023 by Cisco Systems, Inc. | | Copyright (c) 2019-2023 by Cisco Systems, Inc. |
| All rights reserved."; | | All rights reserved."; |
| | | |
| revision 2023-02-21 { | | revision 2023-02-21 { |
| description | | description |
| n | "Reference Bandwidth range modification | n | "Reference Bandwidth range modification"; |
| 2023-01-18 | | } |
| | | revision 2023-01-18 { |
| | | description |
| Must conditions and Mandatory statements addition for | | "Must conditions and Mandatory statements addition for |
| Max-external LSA and Exchange timer containers inside VRF | | Max-external LSA and Exchange timer containers inside VRF"; |
| 2022-12-01 | | } |
| | | revision 2022-12-01 { |
| | | description |
| Added options to configure maximum count of external LSAs | | "Added options to configure maximum count of external LSAs |
| and exchange timer values | | and exchange timer values"; |
| 2022-09-21 | | } |
| | | revision 2022-09-21 { |
| | | description |
| Max-lsa ignore-time and reset-time range modification | | "Max-lsa ignore-time and reset-time range modification"; |
| 2022-09-09 | | } |
| | | revision 2022-09-09 { |
| | | description |
| Added CLI Config for follow-on timer under distribute link-state | | "Added CLI Config for follow-on timer under distribute link-state"; |
| 2022-07-12 | | } |
| | | revision 2022-07-12 { |
| | | description |
| Added container srlg under flex-algo | | "Added container srlg under flex-algo"; |
| 2022-07-11 | | } |
| | | revision 2022-07-11 { |
| | | description |
| Added missing description statement to nodes | | "Added missing description statement to nodes"; |
| 2022-06-07 | | } |
| | | revision 2022-06-07 { |
| | | description |
| Added new options excl-external and allow-prefix under distribute link-state, | | "Added new options excl-external and allow-prefix under distribute link-state, |
| Added distribute link-state under ospf area level | | Added distribute link-state under ospf area level"; |
| 2021-12-29 | | } |
| | | revision 2021-12-29 { |
| | | description |
| Added ietf-strict-lsa-checking next to container ietf, | | "Added ietf-strict-lsa-checking next to container ietf, |
| Added container neighbors under multi-area-interface"; | | Added container neighbors under multi-area-interface"; |
| semver:module-version "5.0.0"; | | |
| } | | } |
| revision 2021-10-04 { | | revision 2021-10-04 { |
| description | | description |
| n | "Updated apply-weight container | n | "Updated apply-weight container"; |
| 2021-09-15 | | } |
| | | revision 2021-09-15 { |
| | | description |
| Added prefix-metric under flex-alogo | | "Added prefix-metric under flex-alogo |
| and added container lls/disable under capability | | and added container lls/disable under capability"; |
| 2021-06-15 | | } |
| | | revision 2021-06-15 { |
| | | description |
| Added leaf use-interface-bandwidth, modified leaf bandwidth name to leaf reference | | "Added leaf use-interface-bandwidth, modified leaf bandwidth name to leaf reference |
| and added mandatory for all the three leafs under container apply-weight "; | | and added mandatory for all the three leafs under container apply-weight "; |
| semver:module-version "4.0.0"; | | |
| } | | } |
| revision 2021-03-26 { | | revision 2021-03-26 { |
| description | | description |
| n | "Added leaf dead-interval-minimal-hello-multiplier | n | "Added leaf dead-interval-minimal-hello-multiplier "; |
| 2021-02-10 | | } |
| | | revision 2021-02-10 { |
| | | description |
| Added disable container in area_scope link-down fast-detect container | | "Added disable container in area_scope link-down fast-detect container "; |
| 2021-01-08 | | } |
| | | revision 2021-01-08 { |
| | | description |
| Added microloop avoidance disable in flex-algos container | | "Added microloop avoidance disable in flex-algos container "; |
| 2020-12-24 | | } |
| | | revision 2020-12-24 { |
| | | description |
| Added cost-fallback anomaly container | | "Added cost-fallback anomaly container "; |
| 2020-09-28 | | } |
| | | revision 2020-09-28 { |
| | | description |
| - Changed log/adjacency/changes container as presence | | "- Changed log/adjacency/changes container as presence"; |
| 2020-05-22 | | } |
| | | revision 2020-05-22 { |
| | | description |
| - Added container fast-reroute and its child nodes"; | | "- Added container fast-reroute and its child nodes"; |
| semver:module-version "3.0.0"; | | |
| } | | } |
| revision 2020-05-21 { | | revision 2020-05-21 { |
| description | | description |
| t | "- Added container srlg-protection and its child nodes | t | "- Added container srlg-protection and its child nodes"; |
| 2020-05-06 | | } |
| | | revision 2020-05-06 { |
| | | description |
| - Added container srlg and delay and its child nodes | | "- Added container srlg and delay and its child nodes |
| - Added container advertise to its child nodes | | - Added container advertise to its child nodes"; |
| 2020-03-10 | | } |
| | | revision 2020-03-10 { |
| | | description |
| Made separate nodes for avoidance-rib-update-delay and ietf-helper"; | | "Made separate nodes for avoidance-rib-update-delay and ietf-helper"; |
| semver:module-version "2.0.0"; | | |
| } | | } |
| revision 2019-06-10 { | | revision 2019-06-10 { |
| description | | description |
| "Establish semantic version baseline."; | | "Establish semantic version baseline."; |
| semver:module-version "1.0.0"; | | semver:module-version "1.0.0"; |
| } | | } |
| revision 2019-03-30 { | | revision 2019-03-30 { |
| description | | description |
| "Initial version"; | | "Initial version"; |
| } | | } |
| | | |
| augment "/a1:snmp-server/a1:traps" { | | augment "/a1:snmp-server/a1:traps" { |
| description | | description |
| "This augment extends snmp-server traps nodes | | "This augment extends snmp-server traps nodes |
| configuration"; | | configuration"; |
| container ospf { | | container ospf { |
| description | | description |
| "Enable SNMP ospf traps"; | | "Enable SNMP ospf traps"; |
| container errors { | | container errors { |
| description | | description |
| "Enable SNMP traps for ospf errors"; | | "Enable SNMP traps for ospf errors"; |
| container authentication-failure { | | container authentication-failure { |
| presence "Indicates a authentication-failure node is configured."; | | presence "Indicates a authentication-failure node is configured."; |
| description | | description |
| "Enable SNMP traps for authentication failure errors on non-virtual interfaces"; | | "Enable SNMP traps for authentication failure errors on non-virtual interfaces"; |
| } | | } |
| container bad-packet { | | container bad-packet { |
| presence "Indicates a bad-packet node is configured."; | | presence "Indicates a bad-packet node is configured."; |
| description | | description |
| "Enable SNMP traps for bad packet errors on non-virtual interfaces"; | | "Enable SNMP traps for bad packet errors on non-virtual interfaces"; |
| } | | } |
| container config-error { | | container config-error { |
| presence "Indicates a config-error node is configured."; | | presence "Indicates a config-error node is configured."; |
| description | | description |
| "Enable SNMP traps for config errors on non-virtual interfaces"; | | "Enable SNMP traps for config errors on non-virtual interfaces"; |
| } | | } |
| container virt-authentication-failure { | | container virt-authentication-failure { |
| presence "Indicates a virt-authentication-failure node is configured."; | | presence "Indicates a virt-authentication-failure node is configured."; |
| description | | description |
| "Enable SNMP traps for authentication failure errors on virtual interfaces"; | | "Enable SNMP traps for authentication failure errors on virtual interfaces"; |
| } | | } |
| container virt-bad-packet { | | container virt-bad-packet { |
| presence "Indicates a virt-bad-packet node is configured."; | | presence "Indicates a virt-bad-packet node is configured."; |
| description | | description |
| "Enable SNMP traps for bad packet errors on virtual interfaces"; | | "Enable SNMP traps for bad packet errors on virtual interfaces"; |
| } | | } |
| container virt-config-error { | | container virt-config-error { |
| presence "Indicates a virt-config-error node is configured."; | | presence "Indicates a virt-config-error node is configured."; |
| description | | description |
| "Enable SNMP traps for config errors on virtual interfaces"; | | "Enable SNMP traps for config errors on virtual interfaces"; |
| } | | } |
| } | | } |
| container lsa { | | container lsa { |
| description | | description |
| "Enable SNMP traps related to lsas"; | | "Enable SNMP traps related to lsas"; |
| container lsa-maxage { | | container lsa-maxage { |
| presence "Indicates a lsa-maxage node is configured."; | | presence "Indicates a lsa-maxage node is configured."; |
| description | | description |
| "Enable SNMP traps for lsa maxage"; | | "Enable SNMP traps for lsa maxage"; |
| } | | } |
| container lsa-originate { | | container lsa-originate { |
| presence "Indicates a lsa-originate node is configured."; | | presence "Indicates a lsa-originate node is configured."; |
| description | | description |
| "Enable SNMP traps for new lsa origination"; | | "Enable SNMP traps for new lsa origination"; |
| } | | } |
| } | | } |
| container retransmit { | | container retransmit { |
| description | | description |
| "Enable SNMP traps for packet retransmissions"; | | "Enable SNMP traps for packet retransmissions"; |
| container packets { | | container packets { |
| presence "Indicates a packets node is configured."; | | presence "Indicates a packets node is configured."; |
| description | | description |
| "Enable SNMP traps for packet retransmissions on non-virtual interfaces"; | | "Enable SNMP traps for packet retransmissions on non-virtual interfaces"; |
| } | | } |
| container virt-packets { | | container virt-packets { |
| presence "Indicates a virt-packets node is configured."; | | presence "Indicates a virt-packets node is configured."; |
| description | | description |
| "Enable SNMP traps for packet retransmissions on virtual interfaces"; | | "Enable SNMP traps for packet retransmissions on virtual interfaces"; |
| } | | } |
| } | | } |
| container state-change { | | container state-change { |
| description | | description |
| "Enable SNMP traps for ospf state change"; | | "Enable SNMP traps for ospf state change"; |
| container if-state-change { | | container if-state-change { |
| presence "Indicates a if-state-change node is configured."; | | presence "Indicates a if-state-change node is configured."; |
| description | | description |
| "Enable SNMP traps for ospf non-virtual interface state change"; | | "Enable SNMP traps for ospf non-virtual interface state change"; |
| } | | } |
| container neighbor-state-change { | | container neighbor-state-change { |
| presence "Indicates a neighbor-state-change node is configured."; | | presence "Indicates a neighbor-state-change node is configured."; |
| description | | description |
| "Enable SNMP traps for ospf neighbor state change"; | | "Enable SNMP traps for ospf neighbor state change"; |
| } | | } |
| container virtif-state-change { | | container virtif-state-change { |
| presence "Indicates a virtif-state-change node is configured."; | | presence "Indicates a virtif-state-change node is configured."; |
| description | | description |
| "Enable SNMP traps for ospf virtual interface state change"; | | "Enable SNMP traps for ospf virtual interface state change"; |
| } | | } |
| container virtneighbor-state-change { | | container virtneighbor-state-change { |
| presence "Indicates a virtneighbor-state-change node is configured."; | | presence "Indicates a virtneighbor-state-change node is configured."; |
| description | | description |
| "Enable SNMP traps for ospf virtual neighbor state change"; | | "Enable SNMP traps for ospf virtual neighbor state change"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container ospf { | | container ospf { |
| description | | description |
| "Global OSPF configuration commands"; | | "Global OSPF configuration commands"; |
| container name-lookup { | | container name-lookup { |
| presence "Indicates a name-lookup node is configured."; | | presence "Indicates a name-lookup node is configured."; |
| description | | description |
| "Display OSPF router ids as DNS names"; | | "Display OSPF router ids as DNS names"; |
| } | | } |
| } | | } |
| container router { | | container router { |
| description | | description |
| "Enable a routing process"; | | "Enable a routing process"; |
| container ospf { | | container ospf { |
| description | | description |
| "OSPF configuration subcommands"; | | "OSPF configuration subcommands"; |
| container processes { | | container processes { |
| description | | description |
| "Name for this OSPF process"; | | "Name for this OSPF process"; |
| list process { | | list process { |
| key "process-name"; | | key "process-name"; |
| description | | description |
| "Name for this OSPF process"; | | "Name for this OSPF process"; |
| leaf process-name { | | leaf process-name { |
| type xr:Cisco-ios-xr-string { | | type xr:Cisco-ios-xr-string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "Name for this OSPF process"; | | "Name for this OSPF process"; |
| } | | } |
| } | | } |
| description | | description |
| "Name for this OSPF process"; | | "Name for this OSPF process"; |
| } | | } |
| container mpls { | | container mpls { |
| description | | description |
| "Configure MPLS routing protocol parameters"; | | "Configure MPLS routing protocol parameters"; |
| container traffic-eng { | | container traffic-eng { |
| description | | description |
| "Routing protocol commands for MPLS Traffic Engineering"; | | "Routing protocol commands for MPLS Traffic Engineering"; |
| container router-id { | | container router-id { |
| description | | description |
| "Traffic Engineering stable IP address for system"; | | "Traffic Engineering stable IP address for system"; |
| leaf ip-address { | | leaf ip-address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| must "not(../interface)"; | | must "not(../interface)"; |
| description | | description |
| "configure this node"; | | "configure this node"; |
| } | | } |
| leaf interface { | | leaf interface { |
| type xr:Interface-name; | | type xr:Interface-name; |
| must "not(../ip-address)"; | | must "not(../ip-address)"; |
| description | | description |
| "MPLS TE interface configuration for this OSPF process"; | | "MPLS TE interface configuration for this OSPF process"; |
| } | | } |
| } | | } |
| container multicast-intact { | | container multicast-intact { |
| presence "Indicates a multicast-intact node is configured."; | | presence "Indicates a multicast-intact node is configured."; |
| description | | description |
| "Publish multicast-intact paths to RIB"; | | "Publish multicast-intact paths to RIB"; |
| } | | } |
| container autoroute-exclude { | | container autoroute-exclude { |
| description | | description |
| "Exclude IP address destinations from using TE tunnels"; | | "Exclude IP address destinations from using TE tunnels"; |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Route Policy to exclude TE paths from routes"; | | "Route Policy to exclude TE paths from routes"; |
| } | | } |
| } | | } |
| container igp-intact { | | container igp-intact { |
| presence "Indicates a igp-intact node is configured."; | | presence "Indicates a igp-intact node is configured."; |
| description | | description |
| "Retain one or more IPv4 nexthops with tunnel nexthops"; | | "Retain one or more IPv4 nexthops with tunnel nexthops"; |
| } | | } |
| container ldp-sync-update { | | container ldp-sync-update { |
| presence "Indicates a ldp-sync-update node is configured."; | | presence "Indicates a ldp-sync-update node is configured."; |
| description | | description |
| "Enable LDP sync induced metric propagation"; | | "Enable LDP sync induced metric propagation"; |
| } | | } |
| } | | } |
| container ldp { | | container ldp { |
| description | | description |
| "Configure LDP parameters"; | | "Configure LDP parameters"; |
| container sync { | | container sync { |
| presence "Indicates a sync node is configured."; | | presence "Indicates a sync node is configured."; |
| description | | description |
| "Enable LDP IGP synchronization"; | | "Enable LDP IGP synchronization"; |
| } | | } |
| container sync-igp-shortcuts { | | container sync-igp-shortcuts { |
| presence "Indicates a sync-igp-shortcuts node is configured."; | | presence "Indicates a sync-igp-shortcuts node is configured."; |
| description | | description |
| "LDP sync for igp-shortcut tunnels"; | | "LDP sync for igp-shortcut tunnels"; |
| } | | } |
| container auto-config { | | container auto-config { |
| presence "Indicates a auto-config node is configured."; | | presence "Indicates a auto-config node is configured."; |
| description | | description |
| "Enable LDP IGP interface auto-configuration"; | | "Enable LDP IGP interface auto-configuration"; |
| } | | } |
| } | | } |
| } | | } |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Cost"; | | "Cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface cost"; | | "Interface cost"; |
| } | | } |
| container cost-fallback { | | container cost-fallback { |
| description | | description |
| "Cost fallback when anomaly is detected"; | | "Cost fallback when anomaly is detected"; |
| container anomaly { | | container anomaly { |
| description | | description |
| "Penalty when a delay or loss is notified"; | | "Penalty when a delay or loss is notified"; |
| container delay { | | container delay { |
| description | | description |
| "Penalty when a delay is notified"; | | "Penalty when a delay is notified"; |
| container igp-metric { | | container igp-metric { |
| description | | description |
| "Penalty on IGP metric"; | | "Penalty on IGP metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..65534" { | | range "1..65534" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must "not(../multiplier or ../value)"; | | must "not(../multiplier or ../value)"; |
| description | | description |
| "Increment the IGP cost by the specified value"; | | "Increment the IGP cost by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must "not(../increment or ../value)"; | | must "not(../increment or ../value)"; |
| description | | description |
| "Multiply the IGP cost by the specified value"; | | "Multiply the IGP cost by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must "not(../increment or ../multiplier)"; | | must "not(../increment or ../multiplier)"; |
| description | | description |
| "Set the IGP cost to the specified value"; | | "Set the IGP cost to the specified value"; |
| } | | } |
| } | | } |
| container te-metric { | | container te-metric { |
| description | | description |
| "Penalty on TE metric"; | | "Penalty on TE metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must "not(../multiplier or ../value)"; | | must "not(../multiplier or ../value)"; |
| description | | description |
| "Increment the TE metric by the specified value"; | | "Increment the TE metric by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must "not(../increment or ../value)"; | | must "not(../increment or ../value)"; |
| description | | description |
| "Multiply the TE metric by the specified value"; | | "Multiply the TE metric by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must "not(../increment or ../multiplier)"; | | must "not(../increment or ../multiplier)"; |
| description | | description |
| "Set the TE cost to the specified value"; | | "Set the TE cost to the specified value"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf hello-interval { | | leaf hello-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between HELLO packets"; | | "Time between HELLO packets"; |
| } | | } |
| leaf dead-interval { | | leaf dead-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| must "not(../dead-interval-minimal-hello-multiplier)"; | | must "not(../dead-interval-minimal-hello-multiplier)"; |
| description | | description |
| "Interval after which a neighbor is declared dead"; | | "Interval after which a neighbor is declared dead"; |
| } | | } |
| leaf dead-interval-minimal-hello-multiplier { | | leaf dead-interval-minimal-hello-multiplier { |
| type uint32 { | | type uint32 { |
| range "3..20" { | | range "3..20" { |
| description | | description |
| "Multiplier"; | | "Multiplier"; |
| } | | } |
| } | | } |
| must "not(../dead-interval)"; | | must "not(../dead-interval)"; |
| description | | description |
| "Set multiplier for Hellos"; | | "Set multiplier for Hellos"; |
| } | | } |
| leaf priority { | | leaf priority { |
| type uint32 { | | type uint32 { |
| range "0..255" { | | range "0..255" { |
| description | | description |
| "Priority"; | | "Priority"; |
| } | | } |
| } | | } |
| description | | description |
| "Router priority"; | | "Router priority"; |
| } | | } |
| leaf retransmit-interval { | | leaf retransmit-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between retransmitting lost link state advertisements"; | | "Time between retransmitting lost link state advertisements"; |
| } | | } |
| leaf transmit-delay { | | leaf transmit-delay { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Estimated time needed to send link-state update packet"; | | "Estimated time needed to send link-state update packet"; |
| } | | } |
| container flood-reduction { | | container flood-reduction { |
| description | | description |
| "Enable/Disable OSPF Flood Reduction"; | | "Enable/Disable OSPF Flood Reduction"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable OSPF Flood Reduction"; | | "Enable OSPF Flood Reduction"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable OSPF Flood Reduction"; | | "Disable OSPF Flood Reduction"; |
| } | | } |
| } | | } |
| container demand-circuit { | | container demand-circuit { |
| description | | description |
| "Enable/Disable OSPF demand circuit"; | | "Enable/Disable OSPF demand circuit"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable OSPF demand circuit"; | | "Enable OSPF demand circuit"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable OSPF demand circuit"; | | "Disable OSPF demand circuit"; |
| } | | } |
| } | | } |
| container mtu-ignore { | | container mtu-ignore { |
| description | | description |
| "Enable/Disable ignoring of MTU in DBD packets"; | | "Enable/Disable ignoring of MTU in DBD packets"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Ignores the MTU in DBD packets"; | | "Ignores the MTU in DBD packets"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable ignoring the MTU in DBD packets"; | | "Disable ignoring the MTU in DBD packets"; |
| } | | } |
| } | | } |
| container database-filter { | | container database-filter { |
| description | | description |
| "Filter OSPF LSA during synchronization and flooding"; | | "Filter OSPF LSA during synchronization and flooding"; |
| container all { | | container all { |
| description | | description |
| "Filter all LSA"; | | "Filter all LSA"; |
| container out { | | container out { |
| presence "Indicates a out node is configured."; | | presence "Indicates a out node is configured."; |
| description | | description |
| "Outgoing LSA"; | | "Outgoing LSA"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable filtering"; | | "Enable filtering"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable filtering"; | | "Disable filtering"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container passive { | | container passive { |
| description | | description |
| "Enable/Disable passive"; | | "Enable/Disable passive"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable passive"; | | "Enable passive"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable passive"; | | "Disable passive"; |
| } | | } |
| } | | } |
| container log { | | container log { |
| description | | description |
| "Log ospf info"; | | "Log ospf info"; |
| container adjacency { | | container adjacency { |
| description | | description |
| "Log adjacency state info"; | | "Log adjacency state info"; |
| container changes { | | container changes { |
| presence "Indicates a detail node is configured."; | | presence "Indicates a detail node is configured."; |
| description | | description |
| "Log changes"; | | "Log changes"; |
| container detail { | | container detail { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a detail node is configured."; | | presence "Indicates a detail node is configured."; |
| description | | description |
| "Log all state changes"; | | "Log all state changes"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../detail)"; | | must "not(../detail)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable logging"; | | "Disable logging"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf router-id { | | leaf router-id { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "configure this node"; | | "configure this node"; |
| } | | } |
| container redistribute { | | container redistribute { |
| description | | description |
| "Redistribute information from another routing protocol"; | | "Redistribute information from another routing protocol"; |
| container connected { | | container connected { |
| presence "Indicates a connected node is configured."; | | presence "Indicates a connected node is configured."; |
| description | | description |
| "Connected routes"; | | "Connected routes"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container static { | | container static { |
| presence "Indicates a static node is configured."; | | presence "Indicates a static node is configured."; |
| description | | description |
| "Static routes"; | | "Static routes"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container dagr { | | container dagr { |
| presence "Indicates a dagr node is configured."; | | presence "Indicates a dagr node is configured."; |
| description | | description |
| "Directed-attached gateway redundancy (DAGR)"; | | "Directed-attached gateway redundancy (DAGR)"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container subscriber { | | container subscriber { |
| presence "Indicates a subscriber node is configured."; | | presence "Indicates a subscriber node is configured."; |
| description | | description |
| "Subscriber routes"; | | "Subscriber routes"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container mobile { | | container mobile { |
| presence "Indicates a mobile node is configured."; | | presence "Indicates a mobile node is configured."; |
| description | | description |
| "Mobile routes"; | | "Mobile routes"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| list eigrp { | | list eigrp { |
| key "as-number"; | | key "as-number"; |
| description | | description |
| "Enhanced Interior Gateway Routing Protocol (EIGRP)"; | | "Enhanced Interior Gateway Routing Protocol (EIGRP)"; |
| leaf as-number { | | leaf as-number { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Autonomous system number"; | | "Autonomous system number"; |
| } | | } |
| } | | } |
| description | | description |
| "Enhanced Interior Gateway Routing Protocol (EIGRP)"; | | "Enhanced Interior Gateway Routing Protocol (EIGRP)"; |
| } | | } |
| container match { | | container match { |
| description | | description |
| "Redistribution of EIGRP routes"; | | "Redistribution of EIGRP routes"; |
| container internal { | | container internal { |
| presence "Indicates a internal node is configured."; | | presence "Indicates a internal node is configured."; |
| description | | description |
| "Redistribute EIGRP internal routes"; | | "Redistribute EIGRP internal routes"; |
| } | | } |
| container external { | | container external { |
| presence "Indicates a external node is configured."; | | presence "Indicates a external node is configured."; |
| description | | description |
| "Redistribute EIGRP external routes"; | | "Redistribute EIGRP external routes"; |
| } | | } |
| } | | } |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container rip { | | container rip { |
| presence "Indicates a rip node is configured."; | | presence "Indicates a rip node is configured."; |
| description | | description |
| "Routing Information Protocol (RIP)"; | | "Routing Information Protocol (RIP)"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container bgp { | | container bgp { |
| description | | description |
| "Border Gateway Protocol (BGP)"; | | "Border Gateway Protocol (BGP)"; |
| list as { | | list as { |
| key "as-number"; | | key "as-number"; |
| description | | description |
| "bgp as-number"; | | "bgp as-number"; |
| leaf as-number { | | leaf as-number { |
| type xr:Bgp-as-number; | | type xr:Bgp-as-number; |
| description | | description |
| "bgp as-number"; | | "bgp as-number"; |
| } | | } |
| container preserve-med { | | container preserve-med { |
| presence "Indicates a preserve-med node is configured."; | | presence "Indicates a preserve-med node is configured."; |
| description | | description |
| "Preserve med of BGP routes"; | | "Preserve med of BGP routes"; |
| } | | } |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| } | | } |
| list isis { | | list isis { |
| key "instance-name"; | | key "instance-name"; |
| description | | description |
| "ISO IS-IS"; | | "ISO IS-IS"; |
| leaf instance-name { | | leaf instance-name { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "IS-IS instance name"; | | "IS-IS instance name"; |
| } | | } |
| } | | } |
| description | | description |
| "ISO IS-IS"; | | "ISO IS-IS"; |
| } | | } |
| container level-1 { | | container level-1 { |
| presence "Indicates a level-1 node is configured."; | | presence "Indicates a level-1 node is configured."; |
| description | | description |
| "IS-IS level-1 routes only"; | | "IS-IS level-1 routes only"; |
| } | | } |
| container level-2 { | | container level-2 { |
| presence "Indicates a level-2 node is configured."; | | presence "Indicates a level-2 node is configured."; |
| description | | description |
| "IS-IS level-2 routes only"; | | "IS-IS level-2 routes only"; |
| } | | } |
| container level-1-2 { | | container level-1-2 { |
| presence "Indicates a level-1-2 node is configured."; | | presence "Indicates a level-1-2 node is configured."; |
| description | | description |
| "IS-IS level-1 and level-2 routes"; | | "IS-IS level-1 and level-2 routes"; |
| } | | } |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| list ospf { | | list ospf { |
| key "instance-name"; | | key "instance-name"; |
| description | | description |
| "Open Shortest Path First (OSPF)"; | | "Open Shortest Path First (OSPF)"; |
| leaf instance-name { | | leaf instance-name { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "OSPF instance name"; | | "OSPF instance name"; |
| } | | } |
| } | | } |
| description | | description |
| "Open Shortest Path First (OSPF)"; | | "Open Shortest Path First (OSPF)"; |
| } | | } |
| container match { | | container match { |
| description | | description |
| "Redistribution of OSPF routes"; | | "Redistribution of OSPF routes"; |
| container internal { | | container internal { |
| presence "Indicates a internal node is configured."; | | presence "Indicates a internal node is configured."; |
| description | | description |
| "Redistribute OSPF internal routes"; | | "Redistribute OSPF internal routes"; |
| } | | } |
| container external { | | container external { |
| presence "Indicates a external node is configured."; | | presence "Indicates a external node is configured."; |
| description | | description |
| "Redistribute OSPF external routes"; | | "Redistribute OSPF external routes"; |
| container one { | | container one { |
| presence "Indicates a one node is configured."; | | presence "Indicates a one node is configured."; |
| description | | description |
| "Redistribute external type 1 routes"; | | "Redistribute external type 1 routes"; |
| } | | } |
| container two { | | container two { |
| presence "Indicates a two node is configured."; | | presence "Indicates a two node is configured."; |
| description | | description |
| "Redistribute external type 2 routes"; | | "Redistribute external type 2 routes"; |
| } | | } |
| } | | } |
| container nssa-external { | | container nssa-external { |
| presence "Indicates a nssa-external node is configured."; | | presence "Indicates a nssa-external node is configured."; |
| description | | description |
| "Redistribute OSPF NSSA external routes"; | | "Redistribute OSPF NSSA external routes"; |
| container one { | | container one { |
| presence "Indicates a one node is configured."; | | presence "Indicates a one node is configured."; |
| description | | description |
| "Redistribute NSSA external type 1 routes"; | | "Redistribute NSSA external type 1 routes"; |
| } | | } |
| container two { | | container two { |
| presence "Indicates a two node is configured."; | | presence "Indicates a two node is configured."; |
| description | | description |
| "Redistribute NSSA external type 2 routes"; | | "Redistribute NSSA external type 2 routes"; |
| } | | } |
| } | | } |
| } | | } |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container applications { | | container applications { |
| description | | description |
| "OnePK Application routes"; | | "OnePK Application routes"; |
| list application { | | list application { |
| key "application-name"; | | key "application-name"; |
| description | | description |
| "OnePK Application routes"; | | "OnePK Application routes"; |
| leaf application-name { | | leaf application-name { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "OnePK Application name"; | | "OnePK Application name"; |
| } | | } |
| } | | } |
| description | | description |
| "OnePK Application routes"; | | "OnePK Application routes"; |
| } | | } |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container distribute-list { | | container distribute-list { |
| description | | description |
| "Filter networks in routing updates"; | | "Filter networks in routing updates"; |
| container in { | | container in { |
| description | | description |
| "Filter incoming routing updates"; | | "Filter incoming routing updates"; |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "In-bound access-list name"; | | "In-bound access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "In-bound access-list name"; | | "In-bound access-list name"; |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Route Policy to filter OSPF prefixes"; | | "Route Policy to filter OSPF prefixes"; |
| } | | } |
| } | | } |
| container out { | | container out { |
| description | | description |
| "Filter outgoing routing updates"; | | "Filter outgoing routing updates"; |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| container connected { | | container connected { |
| description | | description |
| "Connected"; | | "Connected"; |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| container static { | | container static { |
| description | | description |
| "Static routes"; | | "Static routes"; |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| container dagr { | | container dagr { |
| description | | description |
| "Directed-attached gateway redundancy (DAGR)"; | | "Directed-attached gateway redundancy (DAGR)"; |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| container bgp { | | container bgp { |
| description | | description |
| "Border Gateway Protocol (BGP)"; | | "Border Gateway Protocol (BGP)"; |
| leaf as { | | leaf as { |
| type xr:Bgp-as-number; | | type xr:Bgp-as-number; |
| description | | description |
| "bgp as-number"; | | "bgp as-number"; |
| } | | } |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| container ospf { | | container ospf { |
| description | | description |
| "Open Shortest Path First (OSPF)"; | | "Open Shortest Path First (OSPF)"; |
| leaf instance-name { | | leaf instance-name { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "OSPF instance name"; | | "OSPF instance name"; |
| } | | } |
| } | | } |
| description | | description |
| "Open Shortest Path First (OSPF)"; | | "Open Shortest Path First (OSPF)"; |
| } | | } |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf packet-size { | | leaf packet-size { |
| type uint32 { | | type uint32 { |
| range "576..10000" { | | range "576..10000" { |
| description | | description |
| "Size of OSPF packets to use Min: 576 Max: MTU bytes"; | | "Size of OSPF packets to use Min: 576 Max: MTU bytes"; |
| } | | } |
| } | | } |
| description | | description |
| "Customize size of OSPF packets upto MTU"; | | "Customize size of OSPF packets upto MTU"; |
| } | | } |
| container bfd { | | container bfd { |
| description | | description |
| "Configure BFD parameters"; | | "Configure BFD parameters"; |
| container fast-detect { | | container fast-detect { |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable Fast detection"; | | "Enable Fast detection"; |
| container strict-mode { | | container strict-mode { |
| presence "Indicates a strict-mode node is configured."; | | presence "Indicates a strict-mode node is configured."; |
| description | | description |
| "Hold down neighbor session until BFD session is up"; | | "Hold down neighbor session until BFD session is up"; |
| } | | } |
| } | | } |
| leaf minimum-interval { | | leaf minimum-interval { |
| type uint32 { | | type uint32 { |
| range "3..30000" { | | range "3..30000" { |
| description | | description |
| "minimum interval in milli-seconds"; | | "minimum interval in milli-seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Minimum interval"; | | "Minimum interval"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "2..50" { | | range "2..50" { |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| container security { | | container security { |
| description | | description |
| "Enable security"; | | "Enable security"; |
| container ttl { | | container ttl { |
| presence "Indicates a ttl node is configured."; | | presence "Indicates a ttl node is configured."; |
| description | | description |
| "Enable ttl security"; | | "Enable ttl security"; |
| leaf hops { | | leaf hops { |
| type uint32 { | | type uint32 { |
| range "1..254" { | | range "1..254" { |
| description | | description |
| "maximum number of hops allowed"; | | "maximum number of hops allowed"; |
| } | | } |
| } | | } |
| description | | description |
| "IP hops"; | | "IP hops"; |
| } | | } |
| } | | } |
| } | | } |
| container prefix-suppression { | | container prefix-suppression { |
| description | | description |
| "Suppress advertisement of the prefixes"; | | "Suppress advertisement of the prefixes"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable primary address suppression"; | | "Enable primary address suppression"; |
| } | | } |
| container secondary-address { | | container secondary-address { |
| description | | description |
| "Enable/Disable secondary address suppression"; | | "Enable/Disable secondary address suppression"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable secondary address suppression"; | | "Enable secondary address suppression"; |
| } | | } |
| } | | } |
| } | | } |
| container default-information { | | container default-information { |
| description | | description |
| "Control distribution of default information"; | | "Control distribution of default information"; |
| container originate { | | container originate { |
| presence "Indicates a originate node is configured."; | | presence "Indicates a originate node is configured."; |
| description | | description |
| "Distribute a default route"; | | "Distribute a default route"; |
| container always { | | container always { |
| presence "Indicates a always node is configured."; | | presence "Indicates a always node is configured."; |
| description | | description |
| "Always advertise default route"; | | "Always advertise default route"; |
| } | | } |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF metric"; | | "OSPF metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type uint32 { | | type uint32 { |
| range "1..2" { | | range "1..2" { |
| description | | description |
| "OSPF Link State type"; | | "OSPF Link State type"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF metric type for default routes"; | | "OSPF metric type for default routes"; |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to default-information origination"; | | "Apply route-policy to default-information origination"; |
| } | | } |
| } | | } |
| } | | } |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "Default metric"; | | "Default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "Default metric"; | | "Default metric"; |
| } | | } |
| container distance { | | container distance { |
| description | | description |
| "Define an administrative distance"; | | "Define an administrative distance"; |
| container administrative-distance { | | container administrative-distance { |
| description | | description |
| "Administrative distance"; | | "Administrative distance"; |
| leaf administrative-distance { | | leaf administrative-distance { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Administrative distance"; | | "Administrative distance"; |
| } | | } |
| } | | } |
| default "110"; | | default "110"; |
| description | | description |
| "Administrative distance"; | | "Administrative distance"; |
| } | | } |
| container source-addresses { | | container source-addresses { |
| description | | description |
| "configure this node"; | | "configure this node"; |
| list source-address { | | list source-address { |
| key "address wildcard"; | | key "address wildcard"; |
| description | | description |
| "source address"; | | "source address"; |
| leaf address { | | leaf address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "IP Source address"; | | "IP Source address"; |
| } | | } |
| leaf wildcard { | | leaf wildcard { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "IP wild card bits -- inverted mask"; | | "IP wild card bits -- inverted mask"; |
| } | | } |
| leaf distance { | | leaf distance { |
| type uint32 { | | type uint32 { |
| range "1..255"; | | range "1..255"; |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Administrative distance"; | | "Administrative distance"; |
| } | | } |
| leaf access-list-name { | | leaf access-list-name { |
| type string; | | type string; |
| description | | description |
| "Access Control List name"; | | "Access Control List name"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container ospf { | | container ospf { |
| description | | description |
| "OSPF distance"; | | "OSPF distance"; |
| leaf intra-area { | | leaf intra-area { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Distance for intra-area routes"; | | "Distance for intra-area routes"; |
| } | | } |
| } | | } |
| description | | description |
| "Intra-area routes"; | | "Intra-area routes"; |
| } | | } |
| leaf inter-area { | | leaf inter-area { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Distance for inter-area routes"; | | "Distance for inter-area routes"; |
| } | | } |
| } | | } |
| description | | description |
| "Inter-area routes"; | | "Inter-area routes"; |
| } | | } |
| leaf external { | | leaf external { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Distance for external type 5 and type 7 routes"; | | "Distance for external type 5 and type 7 routes"; |
| } | | } |
| } | | } |
| description | | description |
| "External type 5 and type 7 routes"; | | "External type 5 and type 7 routes"; |
| } | | } |
| } | | } |
| } | | } |
| container auto-cost { | | container auto-cost { |
| description | | description |
| "Calculate OSPF interface cost according to bandwidth"; | | "Calculate OSPF interface cost according to bandwidth"; |
| leaf reference-bandwidth { | | leaf reference-bandwidth { |
| type uint32 { | | type uint32 { |
| range "1..2147483647" { | | range "1..2147483647" { |
| description | | description |
| "The reference bandwidth in terms of Mbits per second"; | | "The reference bandwidth in terms of Mbits per second"; |
| } | | } |
| } | | } |
| description | | description |
| "Specify reference bandwidth for OSPF cost computations"; | | "Specify reference bandwidth for OSPF cost computations"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Assign OSPF cost based on interface type"; | | "Assign OSPF cost based on interface type"; |
| } | | } |
| } | | } |
| container ignore { | | container ignore { |
| description | | description |
| "Do not complain about specific event"; | | "Do not complain about specific event"; |
| container lsa { | | container lsa { |
| description | | description |
| "Do not complain upon receiving LSA of the specified type"; | | "Do not complain upon receiving LSA of the specified type"; |
| container mospf { | | container mospf { |
| presence "Indicates a mospf node is configured."; | | presence "Indicates a mospf node is configured."; |
| description | | description |
| "MOSPF Type 6 LSA"; | | "MOSPF Type 6 LSA"; |
| } | | } |
| } | | } |
| } | | } |
| container capability { | | container capability { |
| description | | description |
| "Enable specific OSPF feature"; | | "Enable specific OSPF feature"; |
| container opaque { | | container opaque { |
| description | | description |
| "Opaque LSA"; | | "Opaque LSA"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable Opaque LSA capability"; | | "Disable Opaque LSA capability"; |
| } | | } |
| } | | } |
| container lls { | | container lls { |
| presence "Indicates a lls node is configured."; | | presence "Indicates a lls node is configured."; |
| description | | description |
| "Link Local Signalling"; | | "Link Local Signalling"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable Link Local Signalling capability"; | | "Disable Link Local Signalling capability"; |
| } | | } |
| } | | } |
| container type7 { | | container type7 { |
| description | | description |
| "NSSA capability"; | | "NSSA capability"; |
| container prefer { | | container prefer { |
| presence "Indicates a prefer node is configured."; | | presence "Indicates a prefer node is configured."; |
| description | | description |
| "Prefer type7 externals over type5"; | | "Prefer type7 externals over type5"; |
| } | | } |
| } | | } |
| } | | } |
| container max-metric { | | container max-metric { |
| description | | description |
| "Set maximum metric"; | | "Set maximum metric"; |
| container router-lsa { | | container router-lsa { |
| presence "Indicates a router-lsa node is configured."; | | presence "Indicates a router-lsa node is configured."; |
| description | | description |
| "Maximum metric in self-originated router-LSAs"; | | "Maximum metric in self-originated router-LSAs"; |
| container include-stub { | | container include-stub { |
| presence "Indicates a include-stub node is configured."; | | presence "Indicates a include-stub node is configured."; |
| description | | description |
| "Set maximum metric for stub links in router-LSAs"; | | "Set maximum metric for stub links in router-LSAs"; |
| } | | } |
| container summary-lsa { | | container summary-lsa { |
| presence "Indicates a summary-lsa node is configured."; | | presence "Indicates a summary-lsa node is configured."; |
| description | | description |
| "Override summary-lsa metric with max-metric value"; | | "Override summary-lsa metric with max-metric value"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Override summary-lsa metric with max-metric value"; | | "Override summary-lsa metric with max-metric value"; |
| } | | } |
| } | | } |
| container external-lsa { | | container external-lsa { |
| presence "Indicates a external-lsa node is configured."; | | presence "Indicates a external-lsa node is configured."; |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in external-LSAs (default 16711680)"; | | "Overriding metric in external-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| } | | } |
| } | | } |
| } | | } |
| container router-lsa-no-abr-off { | | container router-lsa-no-abr-off { |
| presence "Indicates a no-abr-off node is configured."; | | presence "Indicates a no-abr-off node is configured."; |
| description | | description |
| "Do not temporarily suspend ABR duties in max-metric mode"; | | "Do not temporarily suspend ABR duties in max-metric mode"; |
| } | | } |
| container router-lsa-on-startup { | | container router-lsa-on-startup { |
| description | | description |
| "On startup"; | | "On startup"; |
| leaf originate-time { | | leaf originate-time { |
| type uint32 { | | type uint32 { |
| range "5..86400" { | | range "5..86400" { |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| } | | } |
| must "not(../wait-for-bgp)"; | | must "not(../wait-for-bgp)"; |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| container wait-for-bgp { | | container wait-for-bgp { |
| must "not(../originate-time)"; | | must "not(../originate-time)"; |
| presence "Indicates a wait-for-bgp node is configured."; | | presence "Indicates a wait-for-bgp node is configured."; |
| description | | description |
| "Let BGP decide when to originate router-LSA with normal metric"; | | "Let BGP decide when to originate router-LSA with normal metric"; |
| } | | } |
| container include-stub { | | container include-stub { |
| presence "Indicates a include-stub node is configured."; | | presence "Indicates a include-stub node is configured."; |
| description | | description |
| "Set maximum metric for stub links in router-LSAs"; | | "Set maximum metric for stub links in router-LSAs"; |
| } | | } |
| container summary-lsa { | | container summary-lsa { |
| presence "Indicates a summary-lsa node is configured."; | | presence "Indicates a summary-lsa node is configured."; |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| container external-lsa { | | container external-lsa { |
| presence "Indicates a external-lsa node is configured."; | | presence "Indicates a external-lsa node is configured."; |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in external-LSAs (default 16711680)"; | | "Overriding metric in external-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| } | | } |
| } | | } |
| } | | } |
| container router-lsa-on-switchover { | | container router-lsa-on-switchover { |
| description | | description |
| "On switchover"; | | "On switchover"; |
| leaf originate-time { | | leaf originate-time { |
| type uint32 { | | type uint32 { |
| range "5..86400" { | | range "5..86400" { |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| } | | } |
| must "not(../wait-for-bgp)"; | | must "not(../wait-for-bgp)"; |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| container wait-for-bgp { | | container wait-for-bgp { |
| must "not(../originate-time)"; | | must "not(../originate-time)"; |
| presence "Indicates a wait-for-bgp node is configured."; | | presence "Indicates a wait-for-bgp node is configured."; |
| description | | description |
| "Let BGP decide when to originate router-LSA with normal metric"; | | "Let BGP decide when to originate router-LSA with normal metric"; |
| } | | } |
| container include-stub { | | container include-stub { |
| presence "Indicates a include-stub node is configured."; | | presence "Indicates a include-stub node is configured."; |
| description | | description |
| "Set maximum metric for stub links in router-LSAs"; | | "Set maximum metric for stub links in router-LSAs"; |
| } | | } |
| container summary-lsa { | | container summary-lsa { |
| presence "Indicates a summary-lsa node is configured."; | | presence "Indicates a summary-lsa node is configured."; |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| container external-lsa { | | container external-lsa { |
| presence "Indicates a external-lsa node is configured."; | | presence "Indicates a external-lsa node is configured."; |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in external-LSAs (default 16711680)"; | | "Overriding metric in external-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| } | | } |
| } | | } |
| } | | } |
| container router-lsa-on-proc-restart { | | container router-lsa-on-proc-restart { |
| description | | description |
| "On process restart"; | | "On process restart"; |
| leaf originate-time { | | leaf originate-time { |
| type uint32 { | | type uint32 { |
| range "5..86400" { | | range "5..86400" { |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| } | | } |
| must "not(../wait-for-bgp)"; | | must "not(../wait-for-bgp)"; |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| container wait-for-bgp { | | container wait-for-bgp { |
| must "not(../originate-time)"; | | must "not(../originate-time)"; |
| presence "Indicates a wait-for-bgp node is configured."; | | presence "Indicates a wait-for-bgp node is configured."; |
| description | | description |
| "Let BGP decide when to originate router-LSA with normal metric"; | | "Let BGP decide when to originate router-LSA with normal metric"; |
| } | | } |
| container include-stub { | | container include-stub { |
| presence "Indicates a include-stub node is configured."; | | presence "Indicates a include-stub node is configured."; |
| description | | description |
| "Set maximum metric for stub links in router-LSAs"; | | "Set maximum metric for stub links in router-LSAs"; |
| } | | } |
| container summary-lsa { | | container summary-lsa { |
| presence "Indicates a summary-lsa node is configured."; | | presence "Indicates a summary-lsa node is configured."; |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| container external-lsa { | | container external-lsa { |
| presence "Indicates a external-lsa node is configured."; | | presence "Indicates a external-lsa node is configured."; |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in external-LSAs (default 16711680)"; | | "Overriding metric in external-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| } | | } |
| } | | } |
| } | | } |
| container router-lsa-on-proc-migration { | | container router-lsa-on-proc-migration { |
| description | | description |
| "On process migration"; | | "On process migration"; |
| leaf originate-time { | | leaf originate-time { |
| type uint32 { | | type uint32 { |
| range "5..86400" { | | range "5..86400" { |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| } | | } |
| must "not(../wait-for-bgp)"; | | must "not(../wait-for-bgp)"; |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| container wait-for-bgp { | | container wait-for-bgp { |
| must "not(../originate-time)"; | | must "not(../originate-time)"; |
| presence "Indicates a wait-for-bgp node is configured."; | | presence "Indicates a wait-for-bgp node is configured."; |
| description | | description |
| "Let BGP decide when to originate router-LSA with normal metric"; | | "Let BGP decide when to originate router-LSA with normal metric"; |
| } | | } |
| container include-stub { | | container include-stub { |
| presence "Indicates a include-stub node is configured."; | | presence "Indicates a include-stub node is configured."; |
| description | | description |
| "Set maximum metric for stub links in router-LSAs"; | | "Set maximum metric for stub links in router-LSAs"; |
| } | | } |
| container summary-lsa { | | container summary-lsa { |
| presence "Indicates a summary-lsa node is configured."; | | presence "Indicates a summary-lsa node is configured."; |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| container external-lsa { | | container external-lsa { |
| presence "Indicates a external-lsa node is configured."; | | presence "Indicates a external-lsa node is configured."; |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in external-LSAs (default 16711680)"; | | "Overriding metric in external-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container max-lsa { | | container max-lsa { |
| presence "Indicates a max-lsa node is configured."; | | presence "Indicates a max-lsa node is configured."; |
| description | | description |
| "Maximum number of LSAs OSPF process will receive"; | | "Maximum number of LSAs OSPF process will receive"; |
| leaf max-lsa { | | leaf max-lsa { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Maximum number of non self-generated LSAs this process can receive"; | | "Maximum number of non self-generated LSAs this process can receive"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Maximum number of LSAs OSPF process will receive"; | | "Maximum number of LSAs OSPF process will receive"; |
| } | | } |
| leaf threshold { | | leaf threshold { |
| type uint32 { | | type uint32 { |
| range "1..100"; | | range "1..100"; |
| } | | } |
| description | | description |
| "Threshold value (%) at which to generate a warning msg"; | | "Threshold value (%) at which to generate a warning msg"; |
| } | | } |
| container warning-only { | | container warning-only { |
| presence "Indicates a warning-only node is configured."; | | presence "Indicates a warning-only node is configured."; |
| description | | description |
| "Only give warning message when limit is exceeded"; | | "Only give warning message when limit is exceeded"; |
| } | | } |
| leaf ignore-time { | | leaf ignore-time { |
| type uint32 { | | type uint32 { |
| range "1..17895697" { | | range "1..17895697" { |
| description | | description |
| "number of minutes during which all adjacencies are suppressed"; | | "number of minutes during which all adjacencies are suppressed"; |
| } | | } |
| } | | } |
| must "not(../warning-only)"; | | must "not(../warning-only)"; |
| description | | description |
| "time during which all adjacencies are suppressed"; | | "time during which all adjacencies are suppressed"; |
| } | | } |
| leaf ignore-count { | | leaf ignore-count { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "count on how many times adjacencies can be suppressed"; | | "count on how many times adjacencies can be suppressed"; |
| } | | } |
| } | | } |
| must "not(../warning-only)"; | | must "not(../warning-only)"; |
| description | | description |
| "maximum number of times adjacencies can be suppressed"; | | "maximum number of times adjacencies can be suppressed"; |
| } | | } |
| leaf reset-time { | | leaf reset-time { |
| type uint32 { | | type uint32 { |
| range "2..35791394" { | | range "2..35791394" { |
| description | | description |
| "number of minutes after which ignore-count is reset to zero"; | | "number of minutes after which ignore-count is reset to zero"; |
| } | | } |
| } | | } |
| must "not(../warning-only)"; | | must "not(../warning-only)"; |
| description | | description |
| "time after which ignore-count is reset to zero"; | | "time after which ignore-count is reset to zero"; |
| } | | } |
| } | | } |
| container timers { | | container timers { |
| description | | description |
| "Adjust routing timers"; | | "Adjust routing timers"; |
| container throttle { | | container throttle { |
| description | | description |
| "OSPF throttle timers"; | | "OSPF throttle timers"; |
| container spf { | | container spf { |
| presence "Indicates a spf node is configured."; | | presence "Indicates a spf node is configured."; |
| description | | description |
| "OSPF SPF throttle timers"; | | "OSPF SPF throttle timers"; |
| leaf initial-delay { | | leaf initial-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Delay between receiving a change to SPF calculation in milliseconds"; | | "Delay between receiving a change to SPF calculation in milliseconds"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "OSPF SPF throttle timers"; | | "OSPF SPF throttle timers"; |
| } | | } |
| leaf second-delay { | | leaf second-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Delay between first and second SPF calculation in milliseconds"; | | "Delay between first and second SPF calculation in milliseconds"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Delay between first and second SPF calculation in milliseconds"; | | "Delay between first and second SPF calculation in milliseconds"; |
| } | | } |
| leaf maximum-delay { | | leaf maximum-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Maximum wait time in milliseconds for SPF calculations"; | | "Maximum wait time in milliseconds for SPF calculations"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Maximum wait time in milliseconds for SPF calculations"; | | "Maximum wait time in milliseconds for SPF calculations"; |
| } | | } |
| } | | } |
| container lsa { | | container lsa { |
| description | | description |
| "LSA throttle timers"; | | "LSA throttle timers"; |
| container all { | | container all { |
| presence "Indicates a all node is configured."; | | presence "Indicates a all node is configured."; |
| description | | description |
| "For all types of OSPF LSAs"; | | "For all types of OSPF LSAs"; |
| leaf initial-delay { | | leaf initial-delay { |
| type uint32 { | | type uint32 { |
| range "0..600000" { | | range "0..600000" { |
| description | | description |
| "Delay to generate first occurance of LSA in milliseconds"; | | "Delay to generate first occurance of LSA in milliseconds"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "For all types of OSPF LSAs"; | | "For all types of OSPF LSAs"; |
| } | | } |
| leaf minimum-delay { | | leaf minimum-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Minimum delay between originating the same LSA in milliseconds"; | | "Minimum delay between originating the same LSA in milliseconds"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Minimum delay between originating the same LSA in milliseconds"; | | "Minimum delay between originating the same LSA in milliseconds"; |
| } | | } |
| leaf maximum-delay { | | leaf maximum-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Maximum delay between originating the same LSA in milliseconds"; | | "Maximum delay between originating the same LSA in milliseconds"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Maximum delay between originating the same LSA in milliseconds"; | | "Maximum delay between originating the same LSA in milliseconds"; |
| } | | } |
| } | | } |
| } | | } |
| leaf fast-reroute { | | leaf fast-reroute { |
| type uint32 { | | type uint32 { |
| range "50..600000" { | | range "50..600000" { |
| description | | description |
| "Delay between end of SPF and start of the fast-reroute computation in milliseconds"; | | "Delay between end of SPF and start of the fast-reroute computation in milliseconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Fast-reroute throttle timer"; | | "Fast-reroute throttle timer"; |
| } | | } |
| } | | } |
| container lsa { | | container lsa { |
| description | | description |
| "OSPF global LSA timers"; | | "OSPF global LSA timers"; |
| leaf group-pacing { | | leaf group-pacing { |
| type uint32 { | | type uint32 { |
| range "10..1800" { | | range "10..1800" { |
| description | | description |
| "Interval between group of LSA being refreshed or maxaged"; | | "Interval between group of LSA being refreshed or maxaged"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF LSA group pacing timer"; | | "OSPF LSA group pacing timer"; |
| } | | } |
| leaf min-arrival { | | leaf min-arrival { |
| type uint32 { | | type uint32 { |
| range "0..600000" { | | range "0..600000" { |
| description | | description |
| "The minimum interval in millisec between accepting the same LSA"; | | "The minimum interval in millisec between accepting the same LSA"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF MinLSArrival timer"; | | "OSPF MinLSArrival timer"; |
| } | | } |
| leaf refresh { | | leaf refresh { |
| type uint32 { | | type uint32 { |
| range "1800..2700" { | | range "1800..2700" { |
| description | | description |
| "How often self-originated LSAs should be refreshed, in seconds"; | | "How often self-originated LSAs should be refreshed, in seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF LSA refresh interval"; | | "OSPF LSA refresh interval"; |
| } | | } |
| } | | } |
| container pacing { | | container pacing { |
| description | | description |
| "OSPF pacing timers"; | | "OSPF pacing timers"; |
| leaf flood { | | leaf flood { |
| type uint32 { | | type uint32 { |
| range "5..100" { | | range "5..100" { |
| description | | description |
| "Interval in msec to pace flooding on all interfaces"; | | "Interval in msec to pace flooding on all interfaces"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF flood pacing timer"; | | "OSPF flood pacing timer"; |
| } | | } |
| } | | } |
| container graceful-shutdown { | | container graceful-shutdown { |
| description | | description |
| "Timers for graceful shutdown"; | | "Timers for graceful shutdown"; |
| container retain { | | container retain { |
| description | | description |
| "Time to keep routes active after graceful shutdown"; | | "Time to keep routes active after graceful shutdown"; |
| leaf routes { | | leaf routes { |
| type uint32 { | | type uint32 { |
| range "0..90" { | | range "0..90" { |
| description | | description |
| "Seconds to keep routes active after graceful shutdown"; | | "Seconds to keep routes active after graceful shutdown"; |
| } | | } |
| } | | } |
| description | | description |
| "Time to keep routes active after graceful shutdown"; | | "Time to keep routes active after graceful shutdown"; |
| } | | } |
| } | | } |
| container initial { | | container initial { |
| description | | description |
| "Delay before starting graceful shutdown"; | | "Delay before starting graceful shutdown"; |
| leaf delay { | | leaf delay { |
| type uint32 { | | type uint32 { |
| range "0..90" { | | range "0..90" { |
| description | | description |
| "Seconds to delay before beginning graceful shutdown"; | | "Seconds to delay before beginning graceful shutdown"; |
| } | | } |
| } | | } |
| description | | description |
| "Delay before starting graceful shutdown"; | | "Delay before starting graceful shutdown"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container nsf { | | container nsf { |
| description | | description |
| "Enable Cisco Non Stop Forwarding"; | | "Enable Cisco Non Stop Forwarding"; |
| container cisco { | | container cisco { |
| presence "Indicates a cisco node is configured."; | | presence "Indicates a cisco node is configured."; |
| description | | description |
| "Enable Cisco Non Stop Forwarding"; | | "Enable Cisco Non Stop Forwarding"; |
| container enforce { | | container enforce { |
| description | | description |
| "Cancel NSF restart when non-NSF-aware neighbors detected"; | | "Cancel NSF restart when non-NSF-aware neighbors detected"; |
| container global { | | container global { |
| presence "Indicates a global node is configured."; | | presence "Indicates a global node is configured."; |
| description | | description |
| "For the whole OSPF process"; | | "For the whole OSPF process"; |
| } | | } |
| } | | } |
| } | | } |
| leaf interval { | | leaf interval { |
| type uint32 { | | type uint32 { |
| range "90..3600" { | | range "90..3600" { |
| description | | description |
| "seconds"; | | "seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Minimum interval between NSF restarts (seconds)"; | | "Minimum interval between NSF restarts (seconds)"; |
| } | | } |
| container ietf { | | container ietf { |
| presence "Indicates a ietf node is configured."; | | presence "Indicates a ietf node is configured."; |
| description | | description |
| "Enable ietf graceful restart"; | | "Enable ietf graceful restart"; |
| } | | } |
| container ietf-strict-lsa-checking { | | container ietf-strict-lsa-checking { |
| presence "Indicates a strict-lsa-checking node is configured."; | | presence "Indicates a strict-lsa-checking node is configured."; |
| description | | description |
| "terminate graceful restart helper mode if lsa changed"; | | "terminate graceful restart helper mode if lsa changed"; |
| } | | } |
| container ietf-helper { | | container ietf-helper { |
| description | | description |
| "router's helper support level"; | | "router's helper support level"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "router's helper support disabled"; | | "router's helper support disabled"; |
| } | | } |
| } | | } |
| leaf lifetime { | | leaf lifetime { |
| type uint32 { | | type uint32 { |
| range "90..1800" { | | range "90..1800" { |
| description | | description |
| "seconds"; | | "seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Maximum route lifetime following restart (seconds)"; | | "Maximum route lifetime following restart (seconds)"; |
| } | | } |
| leaf flush-delay-time { | | leaf flush-delay-time { |
| type uint32 { | | type uint32 { |
| range "1..3600" { | | range "1..3600" { |
| description | | description |
| "seconds"; | | "seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Maximum time allowed for external route learning (seconds)"; | | "Maximum time allowed for external route learning (seconds)"; |
| } | | } |
| } | | } |
| container address-family { | | container address-family { |
| description | | description |
| "OSPF address family"; | | "OSPF address family"; |
| container ipv4 { | | container ipv4 { |
| presence "Indicates a ipv4 node is configured."; | | presence "Indicates a ipv4 node is configured."; |
| description | | description |
| "IPV4 address family"; | | "IPV4 address family"; |
| container unicast { | | container unicast { |
| presence "Indicates a unicast node is configured."; | | presence "Indicates a unicast node is configured."; |
| description | | description |
| "unicast topology"; | | "unicast topology"; |
| } | | } |
| } | | } |
| } | | } |
| container maximum { | | container maximum { |
| description | | description |
| "Set OSPF limits"; | | "Set OSPF limits"; |
| leaf interfaces { | | leaf interfaces { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Maximum number of interfaces"; | | "Maximum number of interfaces"; |
| } | | } |
| } | | } |
| description | | description |
| "Limit number of interfaces"; | | "Limit number of interfaces"; |
| } | | } |
| leaf paths { | | leaf paths { |
| type uint32 { | | type uint32 { |
| range "1..64" { | | range "1..64" { |
| description | | description |
| "Maximum number of paths per route"; | | "Maximum number of paths per route"; |
| } | | } |
| } | | } |
| description | | description |
| "Limit number of paths"; | | "Limit number of paths"; |
| } | | } |
| container redistributed-prefixes { | | container redistributed-prefixes { |
| presence "Indicates a redistributed-prefixes node is configured."; | | presence "Indicates a redistributed-prefixes node is configured."; |
| description | | description |
| "Limit number of redistributed prefixes"; | | "Limit number of redistributed prefixes"; |
| leaf prefixes { | | leaf prefixes { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Maximum number of prefixes redistributed into OSPF"; | | "Maximum number of prefixes redistributed into OSPF"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Limit number of redistributed prefixes"; | | "Limit number of redistributed prefixes"; |
| } | | } |
| leaf threshold { | | leaf threshold { |
| type uint32 { | | type uint32 { |
| range "1..100"; | | range "1..100"; |
| } | | } |
| description | | description |
| "Threshold value (%) at which to generate a warning msg"; | | "Threshold value (%) at which to generate a warning msg"; |
| } | | } |
| container warning-only { | | container warning-only { |
| presence "Indicates a warning-only node is configured."; | | presence "Indicates a warning-only node is configured."; |
| description | | description |
| "Only give warning messsage when limit is exceeded"; | | "Only give warning messsage when limit is exceeded"; |
| } | | } |
| } | | } |
| } | | } |
| container queue { | | container queue { |
| description | | description |
| "Adjust OSPF input queue"; | | "Adjust OSPF input queue"; |
| container limit { | | container limit { |
| description | | description |
| "High watermark for incoming priority events"; | | "High watermark for incoming priority events"; |
| leaf high { | | leaf high { |
| type uint32 { | | type uint32 { |
| range "1000..30000" { | | range "1000..30000" { |
| description | | description |
| "Hello events are dropped when incoming event queue exceeds this value"; | | "Hello events are dropped when incoming event queue exceeds this value"; |
| } | | } |
| } | | } |
| description | | description |
| "High watermark for incoming high priority events (hello)"; | | "High watermark for incoming high priority events (hello)"; |
| } | | } |
| leaf medium { | | leaf medium { |
| type uint32 { | | type uint32 { |
| range "1000..30000" { | | range "1000..30000" { |
| description | | description |
| "LSA ACKs are dropped when incoming event queue exceeds this value"; | | "LSA ACKs are dropped when incoming event queue exceeds this value"; |
| } | | } |
| } | | } |
| description | | description |
| "High watermark for incoming medium priority events (LSA ACK)"; | | "High watermark for incoming medium priority events (LSA ACK)"; |
| } | | } |
| leaf low { | | leaf low { |
| type uint32 { | | type uint32 { |
| range "1000..30000" { | | range "1000..30000" { |
| description | | description |
| "DBD/LS Update/Req packets are dropped when incoming event queue exceeds this value"; | | "DBD/LS Update/Req packets are dropped when incoming event queue exceeds this value"; |
| } | | } |
| } | | } |
| description | | description |
| "High watermark for incoming low priority events (DBD/LSUpd/Req)"; | | "High watermark for incoming low priority events (DBD/LSUpd/Req)"; |
| } | | } |
| } | | } |
| container dispatch { | | container dispatch { |
| description | | description |
| "Number of continuous events processed by type"; | | "Number of continuous events processed by type"; |
| leaf incoming { | | leaf incoming { |
| type uint32 { | | type uint32 { |
| range "30..3000" { | | range "30..3000" { |
| description | | description |
| "Maximum number of continuous events processed"; | | "Maximum number of continuous events processed"; |
| } | | } |
| } | | } |
| description | | description |
| "Number of continuous incoming events processed"; | | "Number of continuous incoming events processed"; |
| } | | } |
| leaf rate-limited-lsa { | | leaf rate-limited-lsa { |
| type uint32 { | | type uint32 { |
| range "30..3000" { | | range "30..3000" { |
| description | | description |
| "Maximum number of rate-limited LSAs processed per run"; | | "Maximum number of rate-limited LSAs processed per run"; |
| } | | } |
| } | | } |
| description | | description |
| "Number of rate-limited LSAs processed"; | | "Number of rate-limited LSAs processed"; |
| } | | } |
| leaf flush-lsa { | | leaf flush-lsa { |
| type uint32 { | | type uint32 { |
| range "30..3000" { | | range "30..3000" { |
| description | | description |
| "Maximum number of LSAs flushed per run"; | | "Maximum number of LSAs flushed per run"; |
| } | | } |
| } | | } |
| description | | description |
| "Number of LSAs flushed"; | | "Number of LSAs flushed"; |
| } | | } |
| leaf spf-lsa-limit { | | leaf spf-lsa-limit { |
| type uint32 { | | type uint32 { |
| range "30..3000" { | | range "30..3000" { |
| description | | description |
| "Maximum number of Type 3-7 LSAs processed per SPF run"; | | "Maximum number of Type 3-7 LSAs processed per SPF run"; |
| } | | } |
| } | | } |
| description | | description |
| "Number of summary or external LSAs processed per run"; | | "Number of summary or external LSAs processed per run"; |
| } | | } |
| } | | } |
| } | | } |
| container summary-prefixes { | | container summary-prefixes { |
| description | | description |
| "Configure IP address summaries"; | | "Configure IP address summaries"; |
| list summary-prefix { | | list summary-prefix { |
| key "address mask"; | | key "address mask"; |
| description | | description |
| "Configure IP address summaries"; | | "Configure IP address summaries"; |
| leaf address { | | leaf address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "IP summary prefix address"; | | "IP summary prefix address"; |
| } | | } |
| leaf mask { | | leaf mask { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "IP smmary address mask"; | | "IP smmary address mask"; |
| } | | } |
| container not-advertise { | | container not-advertise { |
| presence "Indicates a not-advertise node is configured."; | | presence "Indicates a not-advertise node is configured."; |
| description | | description |
| "Suppress routes that match the specified prefix/mask pair"; | | "Suppress routes that match the specified prefix/mask pair"; |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag"; | | "Set tag"; |
| } | | } |
| } | | } |
| } | | } |
| container spf { | | container spf { |
| description | | description |
| "SPF configuration"; | | "SPF configuration"; |
| container prefix-priority { | | container prefix-priority { |
| description | | description |
| "Configure SPF prefix priority route policy"; | | "Configure SPF prefix priority route policy"; |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Specify the route-policy to prioritize route install"; | | "Specify the route-policy to prioritize route install"; |
| } | | } |
| } | | } |
| } | | } |
| container fast-reroute { | | container fast-reroute { |
| description | | description |
| "IP Fast Reroute"; | | "IP Fast Reroute"; |
| container per-prefix { | | container per-prefix { |
| description | | description |
| "Per-prefix Computation"; | | "Per-prefix Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-prefix Computation"; | | "Enable per-prefix Computation"; |
| } | | } |
| container priority-limit { | | container priority-limit { |
| description | | description |
| "Limit backup computation upto the prefix priority"; | | "Limit backup computation upto the prefix priority"; |
| container critical { | | container critical { |
| must "not(../high) and not(../medium)"; | | must "not(../high) and not(../medium)"; |
| presence "Indicates a critical node is configured."; | | presence "Indicates a critical node is configured."; |
| description | | description |
| "Compute for critical priority prefixes only"; | | "Compute for critical priority prefixes only"; |
| } | | } |
| container high { | | container high { |
| must "not(../critical) and not(../medium)"; | | must "not(../critical) and not(../medium)"; |
| presence "Indicates a high node is configured."; | | presence "Indicates a high node is configured."; |
| description | | description |
| "Compute for critical & high priority prefixes "; | | "Compute for critical & high priority prefixes "; |
| } | | } |
| container medium { | | container medium { |
| must "not(../high) and not(../critical)"; | | must "not(../high) and not(../critical)"; |
| presence "Indicates a medium node is configured."; | | presence "Indicates a medium node is configured."; |
| description | | description |
| "Compute for critical, high & medium priority prefixes "; | | "Compute for critical, high & medium priority prefixes "; |
| } | | } |
| } | | } |
| container tiebreaker { | | container tiebreaker { |
| description | | description |
| "Configure tiebreaker for multiple backups"; | | "Configure tiebreaker for multiple backups"; |
| container downstream { | | container downstream { |
| description | | description |
| "Prefer backup path via downstream node"; | | "Prefer backup path via downstream node"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lc-disjoint { | | container lc-disjoint { |
| description | | description |
| "Prefer line card disjoint backup path"; | | "Prefer line card disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lowest-backup-metric { | | container lowest-backup-metric { |
| description | | description |
| "Prefer backup path with lowest total metric"; | | "Prefer backup path with lowest total metric"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container node-protecting { | | container node-protecting { |
| description | | description |
| "Prefer node protecting backup path"; | | "Prefer node protecting backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container primary-path { | | container primary-path { |
| description | | description |
| "Prefer backup path from ECMP set"; | | "Prefer backup path from ECMP set"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container secondary-path { | | container secondary-path { |
| description | | description |
| "Prefer non-ECMP backup path"; | | "Prefer non-ECMP backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container interface-disjoint { | | container interface-disjoint { |
| description | | description |
| "Prefer Interface disjoint backup path"; | | "Prefer Interface disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container srlg-disjoint { | | container srlg-disjoint { |
| description | | description |
| "Prefer SRLG disjoint backup path"; | | "Prefer SRLG disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| } | | } |
| container load-sharing { | | container load-sharing { |
| description | | description |
| "Load share prefixes across multiple backups"; | | "Load share prefixes across multiple backups"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable load sharing"; | | "Disable load sharing"; |
| } | | } |
| } | | } |
| container srlg-protection { | | container srlg-protection { |
| description | | description |
| "select SRLG protection mode (default: local)"; | | "select SRLG protection mode (default: local)"; |
| container weighted-global { | | container weighted-global { |
| presence "Indicates a weighted-global node is configured."; | | presence "Indicates a weighted-global node is configured."; |
| description | | description |
| "weighted global srlg protection"; | | "weighted global srlg protection"; |
| } | | } |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-prefix LFA exclusion information"; | | "Per-prefix LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| container remote-lfa { | | container remote-lfa { |
| description | | description |
| "Remote LFA computation"; | | "Remote LFA computation"; |
| container tunnel { | | container tunnel { |
| description | | description |
| "Enable remote LFA computation using tunnels"; | | "Enable remote LFA computation using tunnels"; |
| container mpls-ldp { | | container mpls-ldp { |
| must "not(../../disable)"; | | must "not(../../disable)"; |
| presence "Indicates a mpls-ldp node is configured."; | | presence "Indicates a mpls-ldp node is configured."; |
| description | | description |
| "MPLS LDP tunnel"; | | "MPLS LDP tunnel"; |
| } | | } |
| } | | } |
| container disable { | | container disable { |
| must "not(../tunnel/mpls-ldp)"; | | must "not(../tunnel/mpls-ldp)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable remote LFA computation"; | | "Disable remote LFA computation"; |
| } | | } |
| leaf maximum-cost { | | leaf maximum-cost { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Path cost"; | | "Path cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Maximum path cost to remote LFA"; | | "Maximum path cost to remote LFA"; |
| } | | } |
| } | | } |
| container ti-lfa { | | container ti-lfa { |
| description | | description |
| "Topology Independent LFA computation"; | | "Topology Independent LFA computation"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable TI LFA computation"; | | "Enable TI LFA computation"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable TI LFA computation"; | | "Disable TI LFA computation"; |
| } | | } |
| } | | } |
| } | | } |
| container per-link { | | container per-link { |
| description | | description |
| "Per-link Computation"; | | "Per-link Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-link Computation"; | | "Enable per-link Computation"; |
| } | | } |
| container priority-limit { | | container priority-limit { |
| description | | description |
| "Limit backup computation upto the prefix priority"; | | "Limit backup computation upto the prefix priority"; |
| container critical { | | container critical { |
| must "not(../high) and not(../medium)"; | | must "not(../high) and not(../medium)"; |
| presence "Indicates a critical node is configured."; | | presence "Indicates a critical node is configured."; |
| description | | description |
| "Compute for critical priority prefixes only"; | | "Compute for critical priority prefixes only"; |
| } | | } |
| container high { | | container high { |
| must "not(../critical) and not(../medium)"; | | must "not(../critical) and not(../medium)"; |
| presence "Indicates a high node is configured."; | | presence "Indicates a high node is configured."; |
| description | | description |
| "Compute for critical & high priority prefixes "; | | "Compute for critical & high priority prefixes "; |
| } | | } |
| container medium { | | container medium { |
| must "not(../high) and not(../critical)"; | | must "not(../high) and not(../critical)"; |
| presence "Indicates a medium node is configured."; | | presence "Indicates a medium node is configured."; |
| description | | description |
| "Compute for critical, high & medium priority prefixes "; | | "Compute for critical, high & medium priority prefixes "; |
| } | | } |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-link LFA exclusion information"; | | "Per-link LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable IP Fast Reroute"; | | "Disable IP Fast Reroute"; |
| } | | } |
| } | | } |
| container loopback { | | container loopback { |
| description | | description |
| "OSPF loopback configuration"; | | "OSPF loopback configuration"; |
| container stub-network { | | container stub-network { |
| description | | description |
| "Advertise loopback as a stub network"; | | "Advertise loopback as a stub network"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertising loopback as a stub network"; | | "Enable advertising loopback as a stub network"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertising loopback as a stub network"; | | "Disable advertising loopback as a stub network"; |
| } | | } |
| } | | } |
| } | | } |
| container link-down { | | container link-down { |
| description | | description |
| "Configure interface down parameters"; | | "Configure interface down parameters"; |
| container fast-detect { | | container fast-detect { |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable fast or early detection of link-down events"; | | "Enable fast or early detection of link-down events"; |
| } | | } |
| } | | } |
| leaf weight { | | leaf weight { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "Weight value"; | | "Weight value"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface weight"; | | "Interface weight"; |
| } | | } |
| container delay { | | container delay { |
| description | | description |
| "Delay configuration setting"; | | "Delay configuration setting"; |
| container normalize { | | container normalize { |
| description | | description |
| "Delay normalization setting"; | | "Delay normalization setting"; |
| leaf interval { | | leaf interval { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../offset"; | | must "../offset"; |
| description | | description |
| "Normalization interval"; | | "Normalization interval"; |
| } | | } |
| leaf offset { | | leaf offset { |
| type uint32 { | | type uint32 { |
| range "0..16777215" { | | range "0..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../interval"; | | must "../interval"; |
| description | | description |
| "Normalization offset"; | | "Normalization offset"; |
| } | | } |
| } | | } |
| } | | } |
| container microloop { | | container microloop { |
| description | | description |
| "Microloop configuration"; | | "Microloop configuration"; |
| container avoidance { | | container avoidance { |
| must "not(protected and segment-routing)"; | | must "not(protected and segment-routing)"; |
| presence "Indicates a avoidance node is configured."; | | presence "Indicates a avoidance node is configured."; |
| description | | description |
| "Avoid microloops"; | | "Avoid microloops"; |
| container protected { | | container protected { |
| presence "Indicates a protected node is configured."; | | presence "Indicates a protected node is configured."; |
| description | | description |
| "Avoid microloops for protected prefixes only"; | | "Avoid microloops for protected prefixes only"; |
| } | | } |
| container segment-routing { | | container segment-routing { |
| presence "Indicates a segment-routing node is configured."; | | presence "Indicates a segment-routing node is configured."; |
| description | | description |
| "Enable segment routing microloop avoidance"; | | "Enable segment routing microloop avoidance"; |
| } | | } |
| } | | } |
| leaf avoidance-rib-update-delay { | | leaf avoidance-rib-update-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Delay in milliseconds"; | | "Delay in milliseconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Delay to introduce between SPF and RIB update"; | | "Delay to introduce between SPF and RIB update"; |
| } | | } |
| } | | } |
| container areas { | | container areas { |
| description | | description |
| "Enter the OSPF area configuration submode"; | | "Enter the OSPF area configuration submode"; |
| list area { | | list area { |
| key "area-id"; | | key "area-id"; |
| description | | description |
| "Enter the OSPF area configuration submode"; | | "Enter the OSPF area configuration submode"; |
| leaf area-id { | | leaf area-id { |
| type xr:Ospf-area-id; | | type xr:Ospf-area-id; |
| description | | description |
| "Enter the OSPF area configuration submode"; | | "Enter the OSPF area configuration submode"; |
| } | | } |
| container ranges { | | container ranges { |
| description | | description |
| "Summarize routes matching address/mask (border routers only)"; | | "Summarize routes matching address/mask (border routers only)"; |
| list range { | | list range { |
| key "address mask"; | | key "address mask"; |
| description | | description |
| "Summarize routes matching address/mask (border routers only)"; | | "Summarize routes matching address/mask (border routers only)"; |
| leaf address { | | leaf address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| must "(../advertise and not(../not-advertise)) or (../not-advertise and not(../advertise))"; | | must "(../advertise and not(../not-advertise)) or (../not-advertise and not(../advertise))"; |
| description | | description |
| "IP address"; | | "IP address"; |
| } | | } |
| leaf mask { | | leaf mask { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "IP address mask"; | | "IP address mask"; |
| } | | } |
| container advertise { | | container advertise { |
| presence "Indicates a advertise node is configured."; | | presence "Indicates a advertise node is configured."; |
| description | | description |
| "Advertise this range (default)"; | | "Advertise this range (default)"; |
| } | | } |
| container not-advertise { | | container not-advertise { |
| presence "Indicates a not-advertise node is configured."; | | presence "Indicates a not-advertise node is configured."; |
| description | | description |
| "DoNotAdvertise this range"; | | "DoNotAdvertise this range"; |
| } | | } |
| } | | } |
| } | | } |
| leaf default-cost { | | leaf default-cost { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Stub's advertised external route metric"; | | "Stub's advertised external route metric"; |
| } | | } |
| } | | } |
| description | | description |
| "Set the summary default-cost of a NSSA/stub area"; | | "Set the summary default-cost of a NSSA/stub area"; |
| } | | } |
| container stub { | | container stub { |
| presence "Indicates a stub node is configured."; | | presence "Indicates a stub node is configured."; |
| description | | description |
| "Specify the area as a stub area"; | | "Specify the area as a stub area"; |
| container no-summary { | | container no-summary { |
| presence "Indicates a no-summary node is configured."; | | presence "Indicates a no-summary node is configured."; |
| description | | description |
| "Do not send summary LSA into stub area"; | | "Do not send summary LSA into stub area"; |
| } | | } |
| } | | } |
| container nssa { | | container nssa { |
| presence "Indicates a nssa node is configured."; | | presence "Indicates a nssa node is configured."; |
| description | | description |
| "Specify area as a NSSA area"; | | "Specify area as a NSSA area"; |
| container no-redistribution { | | container no-redistribution { |
| presence "Indicates a no-redistribution node is configured."; | | presence "Indicates a no-redistribution node is configured."; |
| description | | description |
| "No redistribution into this NSSA area"; | | "No redistribution into this NSSA area"; |
| } | | } |
| container default-information-originate { | | container default-information-originate { |
| presence "Indicates a default-information-originate node is configured."; | | presence "Indicates a default-information-originate node is configured."; |
| description | | description |
| "Originate Type 7 default into NSSA area"; | | "Originate Type 7 default into NSSA area"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF metric"; | | "OSPF metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type uint32 { | | type uint32 { |
| range "1..2" { | | range "1..2" { |
| description | | description |
| "Link State metric type"; | | "Link State metric type"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF metric type for default routes"; | | "OSPF metric type for default routes"; |
| } | | } |
| } | | } |
| container no-summary { | | container no-summary { |
| presence "Indicates a no-summary node is configured."; | | presence "Indicates a no-summary node is configured."; |
| description | | description |
| "Do not send summary LSA into NSSA"; | | "Do not send summary LSA into NSSA"; |
| } | | } |
| } | | } |
| container nssa-translate { | | container nssa-translate { |
| description | | description |
| "Translate NSSA LSA"; | | "Translate NSSA LSA"; |
| container type7 { | | container type7 { |
| description | | description |
| "Translate type 7 to type 5"; | | "Translate type 7 to type 5"; |
| container always { | | container always { |
| presence "Indicates a always node is configured."; | | presence "Indicates a always node is configured."; |
| description | | description |
| "Always translate NSSA LSAs on this ABR"; | | "Always translate NSSA LSAs on this ABR"; |
| } | | } |
| } | | } |
| } | | } |
| container multi-area-interfaces { | | container multi-area-interfaces { |
| description | | description |
| "Enable multi-area adjacency on this interface"; | | "Enable multi-area adjacency on this interface"; |
| list multi-area-interface { | | list multi-area-interface { |
| key "multi-area-interface-name"; | | key "multi-area-interface-name"; |
| description | | description |
| "Enable multi-area adjacency on this interface"; | | "Enable multi-area adjacency on this interface"; |
| leaf multi-area-interface-name { | | leaf multi-area-interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Enable multi-area adjacency on this interface"; | | "Enable multi-area adjacency on this interface"; |
| } | | } |
| container neighbors { | | container neighbors { |
| description | | description |
| "Specify a neighbor router"; | | "Specify a neighbor router"; |
| list neighbor { | | list neighbor { |
| key "address"; | | key "address"; |
| description | | description |
| "Specify a neighbor router"; | | "Specify a neighbor router"; |
| leaf address { | | leaf address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "Specify a neighbor router"; | | "Specify a neighbor router"; |
| } | | } |
| container database-filter { | | container database-filter { |
| description | | description |
| "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; | | "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; |
| container all { | | container all { |
| description | | description |
| "Filter all LSA"; | | "Filter all LSA"; |
| container out { | | container out { |
| presence "Indicates a out node is configured."; | | presence "Indicates a out node is configured."; |
| description | | description |
| "Outgoing LSA"; | | "Outgoing LSA"; |
| } | | } |
| } | | } |
| } | | } |
| leaf poll-interval { | | leaf poll-interval { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF dead-router polling interval"; | | "OSPF dead-router polling interval"; |
| } | | } |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Metric"; | | "Metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF cost for point-to-multipoint neighbor"; | | "OSPF cost for point-to-multipoint neighbor"; |
| } | | } |
| } | | } |
| } | | } |
| container authentication-key { | | container authentication-key { |
| description | | description |
| "Authentication password (key)"; | | "Authentication password (key)"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| container message-digest-keys { | | container message-digest-keys { |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| list message-digest-key { | | list message-digest-key { |
| key "message-digest-key-id"; | | key "message-digest-key-id"; |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| leaf message-digest-key-id { | | leaf message-digest-key-id { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Key ID"; | | "Key ID"; |
| } | | } |
| } | | } |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| } | | } |
| container md5 { | | container md5 { |
| description | | description |
| "Use MD5 algorithm"; | | "Use MD5 algorithm"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| mandatory true; | | mandatory true; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication { | | container authentication { |
| presence "Indicates a authentication node is configured."; | | presence "Indicates a authentication node is configured."; |
| description | | description |
| "Enable authentication"; | | "Enable authentication"; |
| container message-digest { | | container message-digest { |
| must "not(../null or ../keychain)"; | | must "not(../null or ../keychain)"; |
| presence "Indicates a message-digest node is configured."; | | presence "Indicates a message-digest node is configured."; |
| description | | description |
| "Use message-digest authentication"; | | "Use message-digest authentication"; |
| } | | } |
| container keychain { | | container keychain { |
| must "../keychain-name"; | | must "../keychain-name"; |
| presence "Indicates a keychain node is configured."; | | presence "Indicates a keychain node is configured."; |
| description | | description |
| "Use keychain"; | | "Use keychain"; |
| } | | } |
| leaf keychain-name { | | leaf keychain-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "The keychain name"; | | "The keychain name"; |
| } | | } |
| } | | } |
| must "(../message-digest or ../keychain) and not(../null)"; | | must "(../message-digest or ../keychain) and not(../null)"; |
| description | | description |
| "Specify keychain name"; | | "Specify keychain name"; |
| } | | } |
| container null { | | container null { |
| must "not(../message-digest or ../keychain)"; | | must "not(../message-digest or ../keychain)"; |
| presence "Indicates a null node is configured."; | | presence "Indicates a null node is configured."; |
| description | | description |
| "Use no authentication"; | | "Use no authentication"; |
| } | | } |
| } | | } |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Cost"; | | "Cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface cost"; | | "Interface cost"; |
| } | | } |
| container cost-fallback { | | container cost-fallback { |
| presence "Indicates a cost-fallback node is configured."; | | presence "Indicates a cost-fallback node is configured."; |
| description | | description |
| "Cost when cumulative bandwidth goes below the theshold"; | | "Cost when cumulative bandwidth goes below the theshold"; |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Cost"; | | "Cost"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Cost when cumulative bandwidth goes below the theshold"; | | "Cost when cumulative bandwidth goes below the theshold"; |
| } | | } |
| leaf threshold { | | leaf threshold { |
| type uint32 { | | type uint32 { |
| range "1..4294967" { | | range "1..4294967" { |
| description | | description |
| "Threshold bandwidth in Mbits per second"; | | "Threshold bandwidth in Mbits per second"; |
| } | | } |
| } | | } |
| description | | description |
| "Threshold bandwidth when cost-fallback is applied"; | | "Threshold bandwidth when cost-fallback is applied"; |
| } | | } |
| } | | } |
| leaf hello-interval { | | leaf hello-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between HELLO packets"; | | "Time between HELLO packets"; |
| } | | } |
| leaf dead-interval { | | leaf dead-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| must "not(../dead-interval-minimal-hello-multiplier)"; | | must "not(../dead-interval-minimal-hello-multiplier)"; |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| leaf dead-interval-minimal-hello-multiplier { | | leaf dead-interval-minimal-hello-multiplier { |
| type uint32 { | | type uint32 { |
| range "3..20" { | | range "3..20" { |
| description | | description |
| "Multiplier"; | | "Multiplier"; |
| } | | } |
| } | | } |
| must "not(../dead-interval)"; | | must "not(../dead-interval)"; |
| description | | description |
| "Set multiplier for Hellos"; | | "Set multiplier for Hellos"; |
| } | | } |
| leaf retransmit-interval { | | leaf retransmit-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between retransmitting lost link state advertisements"; | | "Time between retransmitting lost link state advertisements"; |
| } | | } |
| leaf transmit-delay { | | leaf transmit-delay { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Estimated time needed to send link-state update packet"; | | "Estimated time needed to send link-state update packet"; |
| } | | } |
| container mtu-ignore { | | container mtu-ignore { |
| description | | description |
| "Enable/Disable ignoring of MTU in DBD packets"; | | "Enable/Disable ignoring of MTU in DBD packets"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Ignores the MTU in DBD packets"; | | "Ignores the MTU in DBD packets"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable ignoring of MTU in DBD packets"; | | "Disable ignoring of MTU in DBD packets"; |
| } | | } |
| } | | } |
| container database-filter { | | container database-filter { |
| description | | description |
| "Filter OSPF LSA during synchronization and flooding"; | | "Filter OSPF LSA during synchronization and flooding"; |
| container all { | | container all { |
| description | | description |
| "Filter all LSA"; | | "Filter all LSA"; |
| container out { | | container out { |
| description | | description |
| "Outgoing LSA"; | | "Outgoing LSA"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable filtering"; | | "Enable filtering"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable filtering"; | | "Disable filtering"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container distribute-list { | | container distribute-list { |
| description | | description |
| "Filter networks in routing updates"; | | "Filter networks in routing updates"; |
| leaf access-list { | | leaf access-list { |
| type string; | | type string; |
| must "not(../route-policy)"; | | must "not(../route-policy)"; |
| description | | description |
| "In-bound access-list name."; | | "In-bound access-list name."; |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| must "not(../access-list)"; | | must "not(../access-list)"; |
| description | | description |
| "Route Policy to filter OSPF prefixes"; | | "Route Policy to filter OSPF prefixes"; |
| } | | } |
| } | | } |
| leaf packet-size { | | leaf packet-size { |
| type uint32 { | | type uint32 { |
| range "576..10000" { | | range "576..10000" { |
| description | | description |
| "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; | | "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; |
| } | | } |
| } | | } |
| description | | description |
| "Customize size of OSPF packets upto MTU"; | | "Customize size of OSPF packets upto MTU"; |
| } | | } |
| container fast-reroute { | | container fast-reroute { |
| description | | description |
| "IP Fast Reroute"; | | "IP Fast Reroute"; |
| container per-link { | | container per-link { |
| description | | description |
| "Per-link Computation"; | | "Per-link Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-link Computation"; | | "Enable per-link Computation"; |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-link LFA exclusion information"; | | "Per-link LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| } | | } |
| container per-prefix { | | container per-prefix { |
| description | | description |
| "Per-prefix Computation"; | | "Per-prefix Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-prefix Computation"; | | "Enable per-prefix Computation"; |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-prefix LFA exclusion information"; | | "Per-prefix LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| container remote-lfa { | | container remote-lfa { |
| description | | description |
| "Remote LFA computation"; | | "Remote LFA computation"; |
| container tunnel { | | container tunnel { |
| description | | description |
| "Enable remote LFA computation using tunnels"; | | "Enable remote LFA computation using tunnels"; |
| container mpls-ldp { | | container mpls-ldp { |
| must "not(../../disable)"; | | must "not(../../disable)"; |
| presence "Indicates a mpls-ldp node is configured."; | | presence "Indicates a mpls-ldp node is configured."; |
| description | | description |
| "MPLS LDP tunnel"; | | "MPLS LDP tunnel"; |
| } | | } |
| } | | } |
| container disable { | | container disable { |
| must "not(../tunnel/mpls-ldp)"; | | must "not(../tunnel/mpls-ldp)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable remote LFA computation"; | | "Disable remote LFA computation"; |
| } | | } |
| leaf maximum-cost { | | leaf maximum-cost { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Path cost"; | | "Path cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Maximum path cost to remote LFA"; | | "Maximum path cost to remote LFA"; |
| } | | } |
| } | | } |
| container ti-lfa { | | container ti-lfa { |
| description | | description |
| "Topology Independent LFA computation"; | | "Topology Independent LFA computation"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable TI LFA computation"; | | "Enable TI LFA computation"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable TI LFA computation"; | | "Disable TI LFA computation"; |
| } | | } |
| } | | } |
| container tiebreaker { | | container tiebreaker { |
| description | | description |
| "Configure tiebreaker for multiple backups"; | | "Configure tiebreaker for multiple backups"; |
| container downstream { | | container downstream { |
| description | | description |
| "Prefer backup path via downstream node"; | | "Prefer backup path via downstream node"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lc-disjoint { | | container lc-disjoint { |
| description | | description |
| "Prefer line card disjoint backup path"; | | "Prefer line card disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lowest-backup-metric { | | container lowest-backup-metric { |
| description | | description |
| "Prefer backup path with lowest total metric"; | | "Prefer backup path with lowest total metric"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container node-protecting { | | container node-protecting { |
| description | | description |
| "Prefer node protecting backup path"; | | "Prefer node protecting backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container primary-path { | | container primary-path { |
| description | | description |
| "Prefer backup path from ECMP set"; | | "Prefer backup path from ECMP set"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container secondary-path { | | container secondary-path { |
| description | | description |
| "Prefer non-ECMP backup path"; | | "Prefer non-ECMP backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container interface-disjoint { | | container interface-disjoint { |
| description | | description |
| "Prefer Interface disjoint backup path"; | | "Prefer Interface disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container srlg-disjoint { | | container srlg-disjoint { |
| description | | description |
| "Prefer SRLG disjoint backup path"; | | "Prefer SRLG disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable IP Fast Reroute"; | | "Disable IP Fast Reroute"; |
| } | | } |
| } | | } |
| container passive { | | container passive { |
| description | | description |
| "Enable/Disable passive"; | | "Enable/Disable passive"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable passive"; | | "Enable passive"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable passive"; | | "Disable passive"; |
| } | | } |
| } | | } |
| container delay { | | container delay { |
| description | | description |
| "Delay configuration setting"; | | "Delay configuration setting"; |
| container normalize { | | container normalize { |
| description | | description |
| "Delay normalization setting"; | | "Delay normalization setting"; |
| leaf interval { | | leaf interval { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../offset"; | | must "../offset"; |
| description | | description |
| "Normalization interval"; | | "Normalization interval"; |
| } | | } |
| leaf offset { | | leaf offset { |
| type uint32 { | | type uint32 { |
| range "0..16777215" { | | range "0..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../interval"; | | must "../interval"; |
| description | | description |
| "Normalization offset"; | | "Normalization offset"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container mpls { | | container mpls { |
| description | | description |
| "Configure MPLS routing protocol parameters"; | | "Configure MPLS routing protocol parameters"; |
| container traffic-eng { | | container traffic-eng { |
| presence "Indicates a traffic-eng node is configured."; | | presence "Indicates a traffic-eng node is configured."; |
| description | | description |
| "Configure an ospf area to run MPLS Traffic Engineering"; | | "Configure an ospf area to run MPLS Traffic Engineering"; |
| } | | } |
| container ldp { | | container ldp { |
| description | | description |
| "Configure LDP parameters"; | | "Configure LDP parameters"; |
| container sync { | | container sync { |
| presence "Indicates a sync node is configured."; | | presence "Indicates a sync node is configured."; |
| description | | description |
| "Enable LDP IGP synchronization"; | | "Enable LDP IGP synchronization"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable MPLS LDP sync"; | | "Disable MPLS LDP sync"; |
| } | | } |
| } | | } |
| container sync-igp-shortcuts { | | container sync-igp-shortcuts { |
| presence "Indicates a sync-igp-shortcuts node is configured."; | | presence "Indicates a sync-igp-shortcuts node is configured."; |
| description | | description |
| "LDP sync for igp-shortcut tunnels"; | | "LDP sync for igp-shortcut tunnels"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable MPLS LDP sync igp-shortcuts"; | | "Disable MPLS LDP sync igp-shortcuts"; |
| } | | } |
| } | | } |
| container auto-config { | | container auto-config { |
| presence "Indicates a auto-config node is configured."; | | presence "Indicates a auto-config node is configured."; |
| description | | description |
| "Enable LDP IGP interface auto-configuration"; | | "Enable LDP IGP interface auto-configuration"; |
| } | | } |
| } | | } |
| } | | } |
| container route-policy { | | container route-policy { |
| description | | description |
| "Specify the route-policy to filter type 3 LSAs"; | | "Specify the route-policy to filter type 3 LSAs"; |
| leaf in { | | leaf in { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "route-policy to filter inbound"; | | "route-policy to filter inbound"; |
| } | | } |
| leaf out { | | leaf out { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "route-policy to filter outbound"; | | "route-policy to filter outbound"; |
| } | | } |
| } | | } |
| container external-out { | | container external-out { |
| description | | description |
| "Enable/Disable advertisement of intra-area prefixes as external"; | | "Enable/Disable advertisement of intra-area prefixes as external"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertisement of intra-area routes as external"; | | "Enable advertisement of intra-area routes as external"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertisement of intra-area routes as external"; | | "Disable advertisement of intra-area routes as external"; |
| } | | } |
| } | | } |
| container summary-in { | | container summary-in { |
| description | | description |
| "Enable/Disable advertisement of external prefixes as inter-area"; | | "Enable/Disable advertisement of external prefixes as inter-area"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertisement of external prefixes as inter-area"; | | "Enable advertisement of external prefixes as inter-area"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertisement of external prefixes as inter-area"; | | "Disable advertisement of external prefixes as inter-area"; |
| } | | } |
| } | | } |
| container segment-routing { | | container segment-routing { |
| description | | description |
| "Segment Routing configuration"; | | "Segment Routing configuration"; |
| container mpls { | | container mpls { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a mpls node is configured."; | | presence "Indicates a mpls node is configured."; |
| description | | description |
| "SR using MPLS dataplane"; | | "SR using MPLS dataplane"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../mpls)"; | | must "not(../mpls)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable Segment Routing "; | | "Disable Segment Routing "; |
| } | | } |
| container forwarding { | | container forwarding { |
| description | | description |
| "Enable Segment-routing forwarding on interfaces"; | | "Enable Segment-routing forwarding on interfaces"; |
| container mpls { | | container mpls { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a mpls node is configured."; | | presence "Indicates a mpls node is configured."; |
| description | | description |
| "Use MPLS for Segment-routing forwarding"; | | "Use MPLS for Segment-routing forwarding"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../mpls)"; | | must "not(../mpls)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable Segment-routing on Area interfaces"; | | "Disable Segment-routing on Area interfaces"; |
| } | | } |
| } | | } |
| } | | } |
| container distribute { | | container distribute { |
| description | | description |
| "Enable Distribution of LSAs to external services"; | | "Enable Distribution of LSAs to external services"; |
| container link-state { | | container link-state { |
| description | | description |
| "Distribute the link-state database to external services"; | | "Distribute the link-state database to external services"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable link-state advertisement of this area "; | | "Disable link-state advertisement of this area "; |
| } | | } |
| container excl-nssa { | | container excl-nssa { |
| presence "Indicates a excl-nssa node is configured."; | | presence "Indicates a excl-nssa node is configured."; |
| description | | description |
| "Filter advertisement of NSSA prefixes"; | | "Filter advertisement of NSSA prefixes"; |
| } | | } |
| container excl-summary { | | container excl-summary { |
| presence "Indicates a excl-summary node is configured."; | | presence "Indicates a excl-summary node is configured."; |
| description | | description |
| "Filter advertisement of summary prefixes"; | | "Filter advertisement of summary prefixes"; |
| } | | } |
| } | | } |
| } | | } |
| container interfaces { | | container interfaces { |
| description | | description |
| "Enable routing on an interface "; | | "Enable routing on an interface "; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Enable routing on an interface "; | | "Enable routing on an interface "; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Enable routing on an interface "; | | "Enable routing on an interface "; |
| } | | } |
| container affinity { | | container affinity { |
| description | | description |
| "Interface affinity configuration"; | | "Interface affinity configuration"; |
| container flex-algo { | | container flex-algo { |
| description | | description |
| "Flexible Algorithm"; | | "Flexible Algorithm"; |
| container affinity-attributes { | | container affinity-attributes { |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| list affinity-attribute { | | list affinity-attribute { |
| key "affinity-attribute-name"; | | key "affinity-attribute-name"; |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| leaf affinity-attribute-name { | | leaf affinity-attribute-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| } | | } |
| } | | } |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container neighbors { | | container neighbors { |
| description | | description |
| "Specify a neighbor router"; | | "Specify a neighbor router"; |
| list neighbor { | | list neighbor { |
| key "neighbor-address"; | | key "neighbor-address"; |
| description | | description |
| "Specify a neighbor router"; | | "Specify a neighbor router"; |
| leaf neighbor-address { | | leaf neighbor-address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "Specify a neighbor router"; | | "Specify a neighbor router"; |
| } | | } |
| container database-filter { | | container database-filter { |
| description | | description |
| "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; | | "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; |
| container all { | | container all { |
| description | | description |
| "Filter all LSA"; | | "Filter all LSA"; |
| container out { | | container out { |
| presence "Indicates a out node is configured."; | | presence "Indicates a out node is configured."; |
| description | | description |
| "Outgoing LSA"; | | "Outgoing LSA"; |
| } | | } |
| } | | } |
| } | | } |
| leaf priority { | | leaf priority { |
| type uint32 { | | type uint32 { |
| range "0..255" { | | range "0..255" { |
| description | | description |
| "Priority"; | | "Priority"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF priority of non-broadcast neighbor"; | | "OSPF priority of non-broadcast neighbor"; |
| } | | } |
| leaf poll-interval { | | leaf poll-interval { |
| type uint32 { | | type uint32 { |
| range "0..65535" { | | range "0..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF dead-router polling interval"; | | "OSPF dead-router polling interval"; |
| } | | } |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Metric"; | | "Metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF cost for point-to-multipoint neighbor"; | | "OSPF cost for point-to-multipoint neighbor"; |
| } | | } |
| } | | } |
| } | | } |
| container authentication-key { | | container authentication-key { |
| description | | description |
| "Authentication password (key)"; | | "Authentication password (key)"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| container message-digest-keys { | | container message-digest-keys { |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| list message-digest-key { | | list message-digest-key { |
| key "message-digest-key-id"; | | key "message-digest-key-id"; |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| leaf message-digest-key-id { | | leaf message-digest-key-id { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Key ID"; | | "Key ID"; |
| } | | } |
| } | | } |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| } | | } |
| container md5 { | | container md5 { |
| description | | description |
| "Use MD5 algorithm"; | | "Use MD5 algorithm"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| mandatory true; | | mandatory true; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication { | | container authentication { |
| presence "Indicates a authentication node is configured."; | | presence "Indicates a authentication node is configured."; |
| description | | description |
| "Enable authentication"; | | "Enable authentication"; |
| container message-digest { | | container message-digest { |
| must "not(../null or ../keychain)"; | | must "not(../null or ../keychain)"; |
| presence "Indicates a message-digest node is configured."; | | presence "Indicates a message-digest node is configured."; |
| description | | description |
| "Use message-digest authentication"; | | "Use message-digest authentication"; |
| } | | } |
| container keychain { | | container keychain { |
| must "../keychain-name"; | | must "../keychain-name"; |
| presence "Indicates a keychain node is configured."; | | presence "Indicates a keychain node is configured."; |
| description | | description |
| "Use keychain"; | | "Use keychain"; |
| } | | } |
| leaf keychain-name { | | leaf keychain-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "The keychain name"; | | "The keychain name"; |
| } | | } |
| } | | } |
| must "(../message-digest or ../keychain) and not(../null)"; | | must "(../message-digest or ../keychain) and not(../null)"; |
| description | | description |
| "Specify keychain name"; | | "Specify keychain name"; |
| } | | } |
| container null { | | container null { |
| must "not(../message-digest or ../keychain)"; | | must "not(../message-digest or ../keychain)"; |
| presence "Indicates a null node is configured."; | | presence "Indicates a null node is configured."; |
| description | | description |
| "Use no authentication"; | | "Use no authentication"; |
| } | | } |
| } | | } |
| container network { | | container network { |
| description | | description |
| "Network type"; | | "Network type"; |
| container broadcast { | | container broadcast { |
| presence "Indicates a broadcast node is configured."; | | presence "Indicates a broadcast node is configured."; |
| description | | description |
| "Specify OSPF broadcast multi-access network"; | | "Specify OSPF broadcast multi-access network"; |
| } | | } |
| container non-broadcast { | | container non-broadcast { |
| presence "Indicates a non-broadcast node is configured."; | | presence "Indicates a non-broadcast node is configured."; |
| description | | description |
| "Specify OSPF NBMA network"; | | "Specify OSPF NBMA network"; |
| } | | } |
| container point-to-point { | | container point-to-point { |
| presence "Indicates a point-to-point node is configured."; | | presence "Indicates a point-to-point node is configured."; |
| description | | description |
| "Specify OSPF point-to-point network"; | | "Specify OSPF point-to-point network"; |
| } | | } |
| container point-to-multipoint { | | container point-to-multipoint { |
| presence "Indicates a point-to-multipoint node is configured."; | | presence "Indicates a point-to-multipoint node is configured."; |
| description | | description |
| "Specify OSPF point-to-multipoint network"; | | "Specify OSPF point-to-multipoint network"; |
| } | | } |
| } | | } |
| container mpls { | | container mpls { |
| description | | description |
| "Configure MPLS routing protocol parameters"; | | "Configure MPLS routing protocol parameters"; |
| container ldp { | | container ldp { |
| description | | description |
| "Configure LDP parameters"; | | "Configure LDP parameters"; |
| container sync { | | container sync { |
| when "(../../../interface-name[not(starts-with(text(),'tunnel-te'))])" { | | when "(../../../interface-name[not(starts-with(text(),'tunnel-te'))])" { |
| tailf:dependency "../../../interface-name"; | | tailf:dependency "../../../interface-name"; |
| } | | } |
| presence "Indicates a sync node is configured."; | | presence "Indicates a sync node is configured."; |
| description | | description |
| "LDP IGP synchronization for interfaces"; | | "LDP IGP synchronization for interfaces"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable MPLS LDP sync on interfaces"; | | "Disable MPLS LDP sync on interfaces"; |
| } | | } |
| } | | } |
| container sync-igp-shortcuts { | | container sync-igp-shortcuts { |
| when "../../../interface-name[starts-with(text(),'tunnel-te')]" { | | when "../../../interface-name[starts-with(text(),'tunnel-te')]" { |
| tailf:dependency "../../../interface-name"; | | tailf:dependency "../../../interface-name"; |
| } | | } |
| presence "Indicates a sync-igp-shortcuts node is configured."; | | presence "Indicates a sync-igp-shortcuts node is configured."; |
| description | | description |
| "LDP sync for igp-shortcuts on tunnel interfaces"; | | "LDP sync for igp-shortcuts on tunnel interfaces"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable MPLS LDP sync igp-shortcuts"; | | "Disable MPLS LDP sync igp-shortcuts"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Cost"; | | "Cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface cost"; | | "Interface cost"; |
| } | | } |
| container cost-fallback { | | container cost-fallback { |
| presence "Indicates a cost-fallback node is configured."; | | presence "Indicates a cost-fallback node is configured."; |
| description | | description |
| "Cost when cumulative bandwidth goes below the theshold"; | | "Cost when cumulative bandwidth goes below the theshold"; |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Cost"; | | "Cost"; |
| } | | } |
| } | | } |
| must "../threshold"; | | must "../threshold"; |
| description | | description |
| "Cost when cumulative bandwidth goes below the theshold"; | | "Cost when cumulative bandwidth goes below the theshold"; |
| } | | } |
| leaf threshold { | | leaf threshold { |
| type uint32 { | | type uint32 { |
| range "1..4294967" { | | range "1..4294967" { |
| description | | description |
| "Threshold bandwidth in Mbits per second"; | | "Threshold bandwidth in Mbits per second"; |
| } | | } |
| } | | } |
| must "../cost"; | | must "../cost"; |
| description | | description |
| "Threshold bandwidth when cost-fallback is applied"; | | "Threshold bandwidth when cost-fallback is applied"; |
| } | | } |
| container anomaly { | | container anomaly { |
| description | | description |
| "Penalty when a delay or loss is notified"; | | "Penalty when a delay or loss is notified"; |
| container delay { | | container delay { |
| description | | description |
| "Penalty when a delay is notified"; | | "Penalty when a delay is notified"; |
| container igp-metric { | | container igp-metric { |
| description | | description |
| "Penalty on IGP metric"; | | "Penalty on IGP metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..65534" { | | range "1..65534" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../multiplier or ../value | | "not(../multiplier or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Increment the IGP cost by the specified value"; | | "Increment the IGP cost by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../value | | "not(../increment or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Multiply the IGP cost by the specified value"; | | "Multiply the IGP cost by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Set the IGP cost to the specified value"; | | "Set the IGP cost to the specified value"; |
| } | | } |
| container disable { | | container disable { |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../value)"; | | or ../value)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable igp-metric"; | | "Disable igp-metric"; |
| } | | } |
| } | | } |
| container te-metric { | | container te-metric { |
| description | | description |
| "Penalty on TE metric"; | | "Penalty on TE metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../multiplier or ../value | | "not(../multiplier or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Increment the TE metric by the specified value"; | | "Increment the TE metric by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../value | | "not(../increment or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Multiply the TE metric by the specified value"; | | "Multiply the TE metric by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Set the TE cost to the specified value"; | | "Set the TE cost to the specified value"; |
| } | | } |
| container disable { | | container disable { |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../value)"; | | or ../value)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable te-metric"; | | "Disable te-metric"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf hello-interval { | | leaf hello-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between HELLO packets"; | | "Time between HELLO packets"; |
| } | | } |
| leaf dead-interval { | | leaf dead-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| must "not(../dead-interval-minimal-hello-multiplier)"; | | must "not(../dead-interval-minimal-hello-multiplier)"; |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| leaf dead-interval-minimal-hello-multiplier { | | leaf dead-interval-minimal-hello-multiplier { |
| type uint32 { | | type uint32 { |
| range "3..20" { | | range "3..20" { |
| description | | description |
| "Multiplier"; | | "Multiplier"; |
| } | | } |
| } | | } |
| must "not(../dead-interval)"; | | must "not(../dead-interval)"; |
| description | | description |
| "Set multiplier for Hellos"; | | "Set multiplier for Hellos"; |
| } | | } |
| leaf priority { | | leaf priority { |
| type uint32 { | | type uint32 { |
| range "0..255" { | | range "0..255" { |
| description | | description |
| "Priority"; | | "Priority"; |
| } | | } |
| } | | } |
| description | | description |
| "Router priority"; | | "Router priority"; |
| } | | } |
| leaf retransmit-interval { | | leaf retransmit-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between retransmitting lost link state advertisements"; | | "Time between retransmitting lost link state advertisements"; |
| } | | } |
| leaf transmit-delay { | | leaf transmit-delay { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Estimated time needed to send link-state update packet"; | | "Estimated time needed to send link-state update packet"; |
| } | | } |
| container flood-reduction { | | container flood-reduction { |
| description | | description |
| "OSPF Flood Reduction"; | | "OSPF Flood Reduction"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable flooding reduction"; | | "Enable flooding reduction"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable flooding reduction"; | | "Disable flooding reduction"; |
| } | | } |
| } | | } |
| container demand-circuit { | | container demand-circuit { |
| description | | description |
| "Enable/Disable demand circuits"; | | "Enable/Disable demand circuits"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable demand circuits"; | | "Enable demand circuits"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable demand circuits"; | | "Disable demand circuits"; |
| } | | } |
| } | | } |
| container mtu-ignore { | | container mtu-ignore { |
| description | | description |
| "Enable/Disable ignoring of MTU in DBD packets"; | | "Enable/Disable ignoring of MTU in DBD packets"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Ignores the MTU in DBD packets"; | | "Ignores the MTU in DBD packets"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable ignoring of MTU in DBD packets"; | | "Disable ignoring of MTU in DBD packets"; |
| } | | } |
| } | | } |
| container database-filter { | | container database-filter { |
| description | | description |
| "Filter OSPF LSA during synchronization and flooding"; | | "Filter OSPF LSA during synchronization and flooding"; |
| container all { | | container all { |
| description | | description |
| "Filter all LSA"; | | "Filter all LSA"; |
| container out { | | container out { |
| description | | description |
| "Outgoing LSA"; | | "Outgoing LSA"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable filtering"; | | "Enable filtering"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable filtering"; | | "Disable filtering"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container passive { | | container passive { |
| description | | description |
| "Enable/Disable passive"; | | "Enable/Disable passive"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable passive"; | | "Enable passive"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable passive"; | | "Disable passive"; |
| } | | } |
| } | | } |
| container distribute-list { | | container distribute-list { |
| description | | description |
| "Filter networks in routing updates"; | | "Filter networks in routing updates"; |
| leaf access-list { | | leaf access-list { |
| type string; | | type string; |
| must "not(../route-policy)"; | | must "not(../route-policy)"; |
| description | | description |
| "In-bound access-list name."; | | "In-bound access-list name."; |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| must "not(../access-list)"; | | must "not(../access-list)"; |
| description | | description |
| "Route Policy to filter OSPF prefixes"; | | "Route Policy to filter OSPF prefixes"; |
| } | | } |
| } | | } |
| leaf packet-size { | | leaf packet-size { |
| type uint32 { | | type uint32 { |
| range "576..10000" { | | range "576..10000" { |
| description | | description |
| "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; | | "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; |
| } | | } |
| } | | } |
| description | | description |
| "Customize size of OSPF packets upto MTU"; | | "Customize size of OSPF packets upto MTU"; |
| } | | } |
| container bfd { | | container bfd { |
| description | | description |
| "Configure BFD parameters"; | | "Configure BFD parameters"; |
| container fast-detect { | | container fast-detect { |
| must "not(strict-mode and disable)"; | | must "not(strict-mode and disable)"; |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable Fast detection"; | | "Enable Fast detection"; |
| container strict-mode { | | container strict-mode { |
| presence "Indicates a strict-mode node is configured."; | | presence "Indicates a strict-mode node is configured."; |
| description | | description |
| "Hold down neighbor session until BFD session is up"; | | "Hold down neighbor session until BFD session is up"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Prevent bfd settings from being inherited from the parent"; | | "Prevent bfd settings from being inherited from the parent"; |
| } | | } |
| } | | } |
| leaf minimum-interval { | | leaf minimum-interval { |
| type uint32 { | | type uint32 { |
| range "3..30000" { | | range "3..30000" { |
| description | | description |
| "minimum interval in milli-seconds"; | | "minimum interval in milli-seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Minimum interval"; | | "Minimum interval"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "2..50" { | | range "2..50" { |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| container security { | | container security { |
| description | | description |
| "Enable security"; | | "Enable security"; |
| container ttl { | | container ttl { |
| must "not(hops and disable)"; | | must "not(hops and disable)"; |
| presence "Indicates a ttl node is configured."; | | presence "Indicates a ttl node is configured."; |
| description | | description |
| "Enable ttl security"; | | "Enable ttl security"; |
| leaf hops { | | leaf hops { |
| type uint32 { | | type uint32 { |
| range "1..254" { | | range "1..254" { |
| description | | description |
| "maximum number of hops allowed"; | | "maximum number of hops allowed"; |
| } | | } |
| } | | } |
| description | | description |
| "IP hops"; | | "IP hops"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable TTL security"; | | "Disable TTL security"; |
| } | | } |
| } | | } |
| } | | } |
| container prefix-suppression { | | container prefix-suppression { |
| description | | description |
| "Suppress advertisement of the prefixes"; | | "Suppress advertisement of the prefixes"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable primary address suppression"; | | "Enable primary address suppression"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable primary address suppression"; | | "Disable primary address suppression"; |
| } | | } |
| container secondary-address { | | container secondary-address { |
| description | | description |
| "Enable/Disable secondary address suppression"; | | "Enable/Disable secondary address suppression"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable secondary address suppression"; | | "Enable secondary address suppression"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable secondary address suppression"; | | "Disable secondary address suppression"; |
| } | | } |
| } | | } |
| } | | } |
| container fast-reroute { | | container fast-reroute { |
| description | | description |
| "IP Fast Reroute"; | | "IP Fast Reroute"; |
| container per-link { | | container per-link { |
| description | | description |
| "Per-link Computation"; | | "Per-link Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-link Computation"; | | "Enable per-link Computation"; |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-link LFA exclusion information"; | | "Per-link LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| } | | } |
| container per-prefix { | | container per-prefix { |
| description | | description |
| "Per-prefix Computation"; | | "Per-prefix Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-prefix Computation"; | | "Enable per-prefix Computation"; |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-prefix LFA exclusion information"; | | "Per-prefix LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| container remote-lfa { | | container remote-lfa { |
| description | | description |
| "Remote LFA computation"; | | "Remote LFA computation"; |
| container tunnel { | | container tunnel { |
| description | | description |
| "Enable remote LFA computation using tunnels"; | | "Enable remote LFA computation using tunnels"; |
| container mpls-ldp { | | container mpls-ldp { |
| must "not(../../disable)"; | | must "not(../../disable)"; |
| presence "Indicates a mpls-ldp node is configured."; | | presence "Indicates a mpls-ldp node is configured."; |
| description | | description |
| "MPLS LDP tunnel"; | | "MPLS LDP tunnel"; |
| } | | } |
| } | | } |
| container disable { | | container disable { |
| must "not(../tunnel/mpls-ldp)"; | | must "not(../tunnel/mpls-ldp)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable remote LFA computation"; | | "Disable remote LFA computation"; |
| } | | } |
| leaf maximum-cost { | | leaf maximum-cost { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Path cost"; | | "Path cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Maximum path cost to remote LFA"; | | "Maximum path cost to remote LFA"; |
| } | | } |
| } | | } |
| container ti-lfa { | | container ti-lfa { |
| description | | description |
| "Topology Independent LFA computation"; | | "Topology Independent LFA computation"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable TI LFA computation"; | | "Enable TI LFA computation"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable TI LFA computation"; | | "Disable TI LFA computation"; |
| } | | } |
| } | | } |
| container tiebreaker { | | container tiebreaker { |
| description | | description |
| "Configure tiebreaker for multiple backups"; | | "Configure tiebreaker for multiple backups"; |
| container downstream { | | container downstream { |
| description | | description |
| "Prefer backup path via downstream node"; | | "Prefer backup path via downstream node"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lc-disjoint { | | container lc-disjoint { |
| description | | description |
| "Prefer line card disjoint backup path"; | | "Prefer line card disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lowest-backup-metric { | | container lowest-backup-metric { |
| description | | description |
| "Prefer backup path with lowest total metric"; | | "Prefer backup path with lowest total metric"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container node-protecting { | | container node-protecting { |
| description | | description |
| "Prefer node protecting backup path"; | | "Prefer node protecting backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container primary-path { | | container primary-path { |
| description | | description |
| "Prefer backup path from ECMP set"; | | "Prefer backup path from ECMP set"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container secondary-path { | | container secondary-path { |
| description | | description |
| "Prefer non-ECMP backup path"; | | "Prefer non-ECMP backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container interface-disjoint { | | container interface-disjoint { |
| description | | description |
| "Prefer Interface disjoint backup path"; | | "Prefer Interface disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container srlg-disjoint { | | container srlg-disjoint { |
| description | | description |
| "Prefer SRLG disjoint backup path"; | | "Prefer SRLG disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable IP Fast Reroute"; | | "Disable IP Fast Reroute"; |
| } | | } |
| } | | } |
| container loopback { | | container loopback { |
| description | | description |
| "OSPF loopback configuration"; | | "OSPF loopback configuration"; |
| container stub-network { | | container stub-network { |
| description | | description |
| "Advertise loopback as a stub network"; | | "Advertise loopback as a stub network"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertising loopback as a stub network"; | | "Enable advertising loopback as a stub network"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertising loopback as a stub network"; | | "Disable advertising loopback as a stub network"; |
| } | | } |
| } | | } |
| } | | } |
| container link-down { | | container link-down { |
| description | | description |
| "Configure interface down parameters"; | | "Configure interface down parameters"; |
| container fast-detect { | | container fast-detect { |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable fast or early detection of link-down events"; | | "Enable fast or early detection of link-down events"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable fast or early detection of link-down events"; | | "Disable fast or early detection of link-down events"; |
| } | | } |
| } | | } |
| } | | } |
| container prefix-sid { | | container prefix-sid { |
| when "../interface-name[starts-with(text(),'Loopback')]" { | | when "../interface-name[starts-with(text(),'Loopback')]" { |
| tailf:dependency "../interface-name"; | | tailf:dependency "../interface-name"; |
| } | | } |
| description | | description |
| "Prefix SID Configuration"; | | "Prefix SID Configuration"; |
| container index { | | container index { |
| presence "Indicates a index node is configured."; | | presence "Indicates a index node is configured."; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| leaf sid-index { | | leaf sid-index { |
| type uint32 { | | type uint32 { |
| range "0..1048575" { | | range "0..1048575" { |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| container absolute { | | container absolute { |
| presence "Indicates a absolute node is configured."; | | presence "Indicates a absolute node is configured."; |
| description | | description |
| "SID value"; | | "SID value"; |
| leaf sid-label { | | leaf sid-label { |
| type uint32 { | | type uint32 { |
| range "16000..1048575" { | | range "16000..1048575" { |
| description | | description |
| "SID label"; | | "SID label"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID value"; | | "SID value"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| container strict-spf { | | container strict-spf { |
| description | | description |
| "Strict-SPF Prefix SID Configuration"; | | "Strict-SPF Prefix SID Configuration"; |
| container index { | | container index { |
| must "not(../absolute)"; | | must "not(../absolute)"; |
| presence "Indicates a index node is configured."; | | presence "Indicates a index node is configured."; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| leaf sid-index { | | leaf sid-index { |
| type uint32 { | | type uint32 { |
| range "0..1048575" { | | range "0..1048575" { |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| container absolute { | | container absolute { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a absolute node is configured."; | | presence "Indicates a absolute node is configured."; |
| description | | description |
| "SID value"; | | "SID value"; |
| leaf sid-label { | | leaf sid-label { |
| type uint32 { | | type uint32 { |
| range "16000..1048575" { | | range "16000..1048575" { |
| description | | description |
| "SID label"; | | "SID label"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID value"; | | "SID value"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| } | | } |
| container algorithms { | | container algorithms { |
| description | | description |
| "Algorithm Specific Prefix SID Configuration"; | | "Algorithm Specific Prefix SID Configuration"; |
| list algorithm { | | list algorithm { |
| must "index or absolute"; | | must "index or absolute"; |
| key "algorithm-number"; | | key "algorithm-number"; |
| description | | description |
| "Algorithm Specific Prefix SID Configuration"; | | "Algorithm Specific Prefix SID Configuration"; |
| leaf algorithm-number { | | leaf algorithm-number { |
| type uint32 { | | type uint32 { |
| range "128..255" { | | range "128..255" { |
| description | | description |
| "Algorithm number"; | | "Algorithm number"; |
| } | | } |
| } | | } |
| description | | description |
| "Algorithm Specific Prefix SID Configuration"; | | "Algorithm Specific Prefix SID Configuration"; |
| } | | } |
| container index { | | container index { |
| presence "Indicates a index node is configured."; | | presence "Indicates a index node is configured."; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| leaf sid-index { | | leaf sid-index { |
| type uint32 { | | type uint32 { |
| range "0..1048575" { | | range "0..1048575" { |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| container absolute { | | container absolute { |
| presence "Indicates a absolute node is configured."; | | presence "Indicates a absolute node is configured."; |
| description | | description |
| "SID value"; | | "SID value"; |
| leaf sid-label { | | leaf sid-label { |
| type uint32 { | | type uint32 { |
| range "16000..1048575" { | | range "16000..1048575" { |
| description | | description |
| "SID label"; | | "SID label"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID value"; | | "SID value"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container segment-routing { | | container segment-routing { |
| description | | description |
| "Configure Segment-routing interface parameters"; | | "Configure Segment-routing interface parameters"; |
| container forwarding { | | container forwarding { |
| description | | description |
| "Enable Segment-routing forwarding on interfaces"; | | "Enable Segment-routing forwarding on interfaces"; |
| container mpls { | | container mpls { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a mpls node is configured."; | | presence "Indicates a mpls node is configured."; |
| description | | description |
| "Use MPLS for Segment-routing forwarding"; | | "Use MPLS for Segment-routing forwarding"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../mpls)"; | | must "not(../mpls)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable Segment-routing on interface"; | | "Disable Segment-routing on interface"; |
| } | | } |
| } | | } |
| } | | } |
| container adjacency-sid { | | container adjacency-sid { |
| description | | description |
| "Adjacency SID Configuration"; | | "Adjacency SID Configuration"; |
| container indexes { | | container indexes { |
| description | | description |
| "SID Index"; | | "SID Index"; |
| list index { | | list index { |
| key "sid-index"; | | key "sid-index"; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| leaf sid-index { | | leaf sid-index { |
| type uint32 { | | type uint32 { |
| range "0..1048575" { | | range "0..1048575" { |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| } | | } |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| container protected { | | container protected { |
| presence "Indicates a protected node is configured."; | | presence "Indicates a protected node is configured."; |
| description | | description |
| "Protect the static adjacency SID"; | | "Protect the static adjacency SID"; |
| } | | } |
| leaf neighbor-address { | | leaf neighbor-address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "Provide Neighbor IP address associated with this SID"; | | "Provide Neighbor IP address associated with this SID"; |
| } | | } |
| } | | } |
| } | | } |
| container absolutes { | | container absolutes { |
| description | | description |
| "SID value"; | | "SID value"; |
| list absolute { | | list absolute { |
| key "sid-value"; | | key "sid-value"; |
| description | | description |
| "SID value"; | | "SID value"; |
| leaf sid-value { | | leaf sid-value { |
| type uint32 { | | type uint32 { |
| range "15000..1048575" { | | range "15000..1048575" { |
| description | | description |
| "SID label"; | | "SID label"; |
| } | | } |
| } | | } |
| description | | description |
| "SID value"; | | "SID value"; |
| } | | } |
| container protected { | | container protected { |
| presence "Indicates a protected node is configured."; | | presence "Indicates a protected node is configured."; |
| description | | description |
| "Protect the static adjacency SID"; | | "Protect the static adjacency SID"; |
| } | | } |
| leaf neighbor-address { | | leaf neighbor-address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "Provide Neighbor IP address associated with this SID"; | | "Provide Neighbor IP address associated with this SID"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf weight { | | leaf weight { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "Weight value"; | | "Weight value"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface weight"; | | "Interface weight"; |
| } | | } |
| container advertise { | | container advertise { |
| when "../interface-name[starts-with(text(),'Loopback')]" { | | when "../interface-name[starts-with(text(),'Loopback')]" { |
| tailf:dependency "../interface-name"; | | tailf:dependency "../interface-name"; |
| } | | } |
| description | | description |
| "Conditionally advertise"; | | "Conditionally advertise"; |
| container prefix { | | container prefix { |
| description | | description |
| "Conditionally advertise this prefix"; | | "Conditionally advertise this prefix"; |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Specify the route-policy for conditional advertising"; | | "Specify the route-policy for conditional advertising"; |
| } | | } |
| } | | } |
| } | | } |
| container delay { | | container delay { |
| description | | description |
| "Delay configuration setting"; | | "Delay configuration setting"; |
| container normalize { | | container normalize { |
| description | | description |
| "Delay normalization setting"; | | "Delay normalization setting"; |
| leaf interval { | | leaf interval { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../offset"; | | must "../offset"; |
| description | | description |
| "Normalization interval"; | | "Normalization interval"; |
| } | | } |
| leaf offset { | | leaf offset { |
| type uint32 { | | type uint32 { |
| range "0..16777215" { | | range "0..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../interval"; | | must "../interval"; |
| description | | description |
| "Normalization offset"; | | "Normalization offset"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication-key { | | container authentication-key { |
| description | | description |
| "Authentication password (key)"; | | "Authentication password (key)"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| container message-digest-keys { | | container message-digest-keys { |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| list message-digest-key { | | list message-digest-key { |
| key "message-digest-key-id"; | | key "message-digest-key-id"; |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| leaf message-digest-key-id { | | leaf message-digest-key-id { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Key ID"; | | "Key ID"; |
| } | | } |
| } | | } |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| } | | } |
| container md5 { | | container md5 { |
| description | | description |
| "Use MD5 algorithm"; | | "Use MD5 algorithm"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication { | | container authentication { |
| presence "Indicates a authentication node is configured."; | | presence "Indicates a authentication node is configured."; |
| description | | description |
| "Enable authentication"; | | "Enable authentication"; |
| container message-digest { | | container message-digest { |
| must "not(../null or ../keychain)"; | | must "not(../null or ../keychain)"; |
| presence "Indicates a message-digest node is configured."; | | presence "Indicates a message-digest node is configured."; |
| description | | description |
| "Use message-digest authentication"; | | "Use message-digest authentication"; |
| } | | } |
| container keychain { | | container keychain { |
| must "../keychain-name"; | | must "../keychain-name"; |
| presence "Indicates a keychain node is configured."; | | presence "Indicates a keychain node is configured."; |
| description | | description |
| "Use keychain"; | | "Use keychain"; |
| } | | } |
| leaf keychain-name { | | leaf keychain-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "The keychain name"; | | "The keychain name"; |
| } | | } |
| } | | } |
| must "(../message-digest or ../keychain) and not(../null)"; | | must "(../message-digest or ../keychain) and not(../null)"; |
| description | | description |
| "Specify keychain name"; | | "Specify keychain name"; |
| } | | } |
| container null { | | container null { |
| must "not(../message-digest or ../keychain)"; | | must "not(../message-digest or ../keychain)"; |
| presence "Indicates a null node is configured."; | | presence "Indicates a null node is configured."; |
| description | | description |
| "Use no authentication"; | | "Use no authentication"; |
| } | | } |
| } | | } |
| container network { | | container network { |
| description | | description |
| "Network type"; | | "Network type"; |
| container broadcast { | | container broadcast { |
| presence "Indicates a broadcast node is configured."; | | presence "Indicates a broadcast node is configured."; |
| description | | description |
| "Specify OSPF broadcast multi-access network"; | | "Specify OSPF broadcast multi-access network"; |
| } | | } |
| container non-broadcast { | | container non-broadcast { |
| presence "Indicates a non-broadcast node is configured."; | | presence "Indicates a non-broadcast node is configured."; |
| description | | description |
| "Specify OSPF NBMA network"; | | "Specify OSPF NBMA network"; |
| } | | } |
| container point-to-point { | | container point-to-point { |
| presence "Indicates a point-to-point node is configured."; | | presence "Indicates a point-to-point node is configured."; |
| description | | description |
| "Specify OSPF point-to-point network"; | | "Specify OSPF point-to-point network"; |
| } | | } |
| container point-to-multipoint { | | container point-to-multipoint { |
| presence "Indicates a point-to-multipoint node is configured."; | | presence "Indicates a point-to-multipoint node is configured."; |
| description | | description |
| "Specify OSPF point-to-multipoint network"; | | "Specify OSPF point-to-multipoint network"; |
| } | | } |
| } | | } |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Cost"; | | "Cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface cost"; | | "Interface cost"; |
| } | | } |
| container cost-fallback { | | container cost-fallback { |
| description | | description |
| "Cost fallback when anomaly is detected"; | | "Cost fallback when anomaly is detected"; |
| container anomaly { | | container anomaly { |
| description | | description |
| "Penalty when a delay or loss is notified"; | | "Penalty when a delay or loss is notified"; |
| container delay { | | container delay { |
| description | | description |
| "Penalty when a delay is notified"; | | "Penalty when a delay is notified"; |
| container igp-metric { | | container igp-metric { |
| description | | description |
| "Penalty on IGP metric"; | | "Penalty on IGP metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..65534" { | | range "1..65534" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../multiplier or ../value | | "not(../multiplier or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Increment the IGP cost by the specified value"; | | "Increment the IGP cost by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../value | | "not(../increment or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Multiply the IGP cost by the specified value"; | | "Multiply the IGP cost by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Set the IGP cost to the specified value"; | | "Set the IGP cost to the specified value"; |
| } | | } |
| container disable { | | container disable { |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../value)"; | | or ../value)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable igp-metric"; | | "Disable igp-metric"; |
| } | | } |
| } | | } |
| container te-metric { | | container te-metric { |
| description | | description |
| "Penalty on TE metric"; | | "Penalty on TE metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../multiplier or ../value | | "not(../multiplier or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Increment the TE metric by the specified value"; | | "Increment the TE metric by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../value | | "not(../increment or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Multiply the TE metric by the specified value"; | | "Multiply the TE metric by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Set the TE cost to the specified value"; | | "Set the TE cost to the specified value"; |
| } | | } |
| container disable { | | container disable { |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../value)"; | | or ../value)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable te-metric"; | | "Disable te-metric"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf hello-interval { | | leaf hello-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between HELLO packets"; | | "Time between HELLO packets"; |
| } | | } |
| leaf dead-interval { | | leaf dead-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| must "not(../dead-interval-minimal-hello-multiplier)"; | | must "not(../dead-interval-minimal-hello-multiplier)"; |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| leaf dead-interval-minimal-hello-multiplier { | | leaf dead-interval-minimal-hello-multiplier { |
| type uint32 { | | type uint32 { |
| range "3..20" { | | range "3..20" { |
| description | | description |
| "Multiplier"; | | "Multiplier"; |
| } | | } |
| } | | } |
| must "not(../dead-interval)"; | | must "not(../dead-interval)"; |
| description | | description |
| "Set multiplier for Hellos"; | | "Set multiplier for Hellos"; |
| } | | } |
| leaf priority { | | leaf priority { |
| type uint32 { | | type uint32 { |
| range "0..255" { | | range "0..255" { |
| description | | description |
| "Priority"; | | "Priority"; |
| } | | } |
| } | | } |
| description | | description |
| "Router priority"; | | "Router priority"; |
| } | | } |
| leaf retransmit-interval { | | leaf retransmit-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between retransmitting lost link state advertisements"; | | "Time between retransmitting lost link state advertisements"; |
| } | | } |
| leaf transmit-delay { | | leaf transmit-delay { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Estimated time needed to send link-state update packet"; | | "Estimated time needed to send link-state update packet"; |
| } | | } |
| container flood-reduction { | | container flood-reduction { |
| description | | description |
| "OSPF Flood Reduction"; | | "OSPF Flood Reduction"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable flooding reduction"; | | "Enable flooding reduction"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable flooding reduction"; | | "Disable flooding reduction"; |
| } | | } |
| } | | } |
| container demand-circuit { | | container demand-circuit { |
| description | | description |
| "Enable/Disable demand circuits"; | | "Enable/Disable demand circuits"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable demand circuits"; | | "Enable demand circuits"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable demand circuits"; | | "Disable demand circuits"; |
| } | | } |
| } | | } |
| container mtu-ignore { | | container mtu-ignore { |
| description | | description |
| "Enable/Disable ignoring of MTU in DBD packets"; | | "Enable/Disable ignoring of MTU in DBD packets"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Ignores the MTU in DBD packets"; | | "Ignores the MTU in DBD packets"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable ignoring of MTU in DBD packets"; | | "Disable ignoring of MTU in DBD packets"; |
| } | | } |
| } | | } |
| container database-filter { | | container database-filter { |
| description | | description |
| "Filter OSPF LSA during synchronization and flooding"; | | "Filter OSPF LSA during synchronization and flooding"; |
| container all { | | container all { |
| description | | description |
| "Filter all LSA"; | | "Filter all LSA"; |
| container out { | | container out { |
| description | | description |
| "Outgoing LSA"; | | "Outgoing LSA"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable filtering"; | | "Enable filtering"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable filtering"; | | "Disable filtering"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container passive { | | container passive { |
| description | | description |
| "Enable/Disable passive"; | | "Enable/Disable passive"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable passive"; | | "Enable passive"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable passive"; | | "Disable passive"; |
| } | | } |
| } | | } |
| container distribute-list { | | container distribute-list { |
| description | | description |
| "Filter networks in routing updates"; | | "Filter networks in routing updates"; |
| leaf access-list { | | leaf access-list { |
| type string; | | type string; |
| must "not(../route-policy)"; | | must "not(../route-policy)"; |
| description | | description |
| "In-bound access-list name."; | | "In-bound access-list name."; |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| must "not(../access-list)"; | | must "not(../access-list)"; |
| description | | description |
| "Route Policy to filter OSPF prefixes"; | | "Route Policy to filter OSPF prefixes"; |
| } | | } |
| } | | } |
| leaf packet-size { | | leaf packet-size { |
| type uint32 { | | type uint32 { |
| range "576..10000" { | | range "576..10000" { |
| description | | description |
| "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; | | "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; |
| } | | } |
| } | | } |
| description | | description |
| "Customize size of OSPF packets upto MTU"; | | "Customize size of OSPF packets upto MTU"; |
| } | | } |
| container bfd { | | container bfd { |
| description | | description |
| "Configure BFD parameters"; | | "Configure BFD parameters"; |
| container fast-detect { | | container fast-detect { |
| must "not(strict-mode and disable)"; | | must "not(strict-mode and disable)"; |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable Fast detection"; | | "Enable Fast detection"; |
| container strict-mode { | | container strict-mode { |
| presence "Indicates a strict-mode node is configured."; | | presence "Indicates a strict-mode node is configured."; |
| description | | description |
| "Hold down neighbor session until BFD session is up"; | | "Hold down neighbor session until BFD session is up"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Prevent bfd settings from being inherited from the parent"; | | "Prevent bfd settings from being inherited from the parent"; |
| } | | } |
| } | | } |
| leaf minimum-interval { | | leaf minimum-interval { |
| type uint32 { | | type uint32 { |
| range "3..30000" { | | range "3..30000" { |
| description | | description |
| "minimum interval in milli-seconds"; | | "minimum interval in milli-seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Minimum interval"; | | "Minimum interval"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "2..50" { | | range "2..50" { |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| container security { | | container security { |
| description | | description |
| "Enable/Disable security"; | | "Enable/Disable security"; |
| container ttl { | | container ttl { |
| must "not(hops and disable)"; | | must "not(hops and disable)"; |
| presence "Indicates a ttl node is configured."; | | presence "Indicates a ttl node is configured."; |
| description | | description |
| "TTL security"; | | "TTL security"; |
| leaf hops { | | leaf hops { |
| type uint32 { | | type uint32 { |
| range "1..254" { | | range "1..254" { |
| description | | description |
| "maximum number of hops allowed"; | | "maximum number of hops allowed"; |
| } | | } |
| } | | } |
| description | | description |
| "IP hops"; | | "IP hops"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable TTL security"; | | "Disable TTL security"; |
| } | | } |
| } | | } |
| } | | } |
| container prefix-suppression { | | container prefix-suppression { |
| description | | description |
| "Suppress advertisement of the prefixes"; | | "Suppress advertisement of the prefixes"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable primary address suppression"; | | "Enable primary address suppression"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable primary address suppression"; | | "Disable primary address suppression"; |
| } | | } |
| container secondary-address { | | container secondary-address { |
| description | | description |
| "Enable/Disable secondary address suppression"; | | "Enable/Disable secondary address suppression"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable secondary address suppression"; | | "Enable secondary address suppression"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable secondary address suppression"; | | "Disable secondary address suppression"; |
| } | | } |
| } | | } |
| } | | } |
| container fast-reroute { | | container fast-reroute { |
| description | | description |
| "IP Fast Reroute"; | | "IP Fast Reroute"; |
| container per-link { | | container per-link { |
| description | | description |
| "Per-link Computation"; | | "Per-link Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-link Computation"; | | "Enable per-link Computation"; |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-link LFA exclusion information"; | | "Per-link LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| } | | } |
| container per-prefix { | | container per-prefix { |
| description | | description |
| "Per-prefix Computation"; | | "Per-prefix Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-prefix Computation"; | | "Enable per-prefix Computation"; |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-prefix LFA exclusion information"; | | "Per-prefix LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| container remote-lfa { | | container remote-lfa { |
| description | | description |
| "Remote LFA computation"; | | "Remote LFA computation"; |
| container tunnel { | | container tunnel { |
| description | | description |
| "Enable remote LFA computation using tunnels"; | | "Enable remote LFA computation using tunnels"; |
| container mpls-ldp { | | container mpls-ldp { |
| must "not(../../disable)"; | | must "not(../../disable)"; |
| presence "Indicates a mpls-ldp node is configured."; | | presence "Indicates a mpls-ldp node is configured."; |
| description | | description |
| "MPLS LDP tunnel"; | | "MPLS LDP tunnel"; |
| } | | } |
| } | | } |
| container disable { | | container disable { |
| must "not(../tunnel/mpls-ldp)"; | | must "not(../tunnel/mpls-ldp)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable remote LFA computation"; | | "Disable remote LFA computation"; |
| } | | } |
| leaf maximum-cost { | | leaf maximum-cost { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Path cost"; | | "Path cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Maximum path cost to remote LFA"; | | "Maximum path cost to remote LFA"; |
| } | | } |
| } | | } |
| container ti-lfa { | | container ti-lfa { |
| description | | description |
| "Topology Independent LFA computation"; | | "Topology Independent LFA computation"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable TI LFA computation"; | | "Enable TI LFA computation"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable TI LFA computation"; | | "Disable TI LFA computation"; |
| } | | } |
| } | | } |
| container tiebreaker { | | container tiebreaker { |
| description | | description |
| "Configure tiebreaker for multiple backups"; | | "Configure tiebreaker for multiple backups"; |
| container downstream { | | container downstream { |
| description | | description |
| "Prefer backup path via downstream node"; | | "Prefer backup path via downstream node"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lc-disjoint { | | container lc-disjoint { |
| description | | description |
| "Prefer line card disjoint backup path"; | | "Prefer line card disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lowest-backup-metric { | | container lowest-backup-metric { |
| description | | description |
| "Prefer backup path with lowest total metric"; | | "Prefer backup path with lowest total metric"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container node-protecting { | | container node-protecting { |
| description | | description |
| "Prefer node protecting backup path"; | | "Prefer node protecting backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container primary-path { | | container primary-path { |
| description | | description |
| "Prefer backup path from ECMP set"; | | "Prefer backup path from ECMP set"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container secondary-path { | | container secondary-path { |
| description | | description |
| "Prefer non-ECMP backup path"; | | "Prefer non-ECMP backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container interface-disjoint { | | container interface-disjoint { |
| description | | description |
| "Prefer Interface disjoint backup path"; | | "Prefer Interface disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container srlg-disjoint { | | container srlg-disjoint { |
| description | | description |
| "Prefer SRLG disjoint backup path"; | | "Prefer SRLG disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable IP Fast Reroute"; | | "Disable IP Fast Reroute"; |
| } | | } |
| } | | } |
| container loopback { | | container loopback { |
| description | | description |
| "OSPF loopback configuration"; | | "OSPF loopback configuration"; |
| container stub-network { | | container stub-network { |
| description | | description |
| "Advertise loopback as a stub network"; | | "Advertise loopback as a stub network"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertising loopback as a stub network"; | | "Enable advertising loopback as a stub network"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertising loopback as a stub network"; | | "Disable advertising loopback as a stub network"; |
| } | | } |
| } | | } |
| } | | } |
| container link-down { | | container link-down { |
| description | | description |
| "Configure interface down parameters"; | | "Configure interface down parameters"; |
| container fast-detect { | | container fast-detect { |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable fast or early detection of link-down events"; | | "Enable fast or early detection of link-down events"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable fast or early detection of link-down events"; | | "Disable fast or early detection of link-down events"; |
| } | | } |
| } | | } |
| } | | } |
| leaf weight { | | leaf weight { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "Weight value"; | | "Weight value"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface weight"; | | "Interface weight"; |
| } | | } |
| container delay { | | container delay { |
| description | | description |
| "Delay configuration setting"; | | "Delay configuration setting"; |
| container normalize { | | container normalize { |
| description | | description |
| "Delay normalization setting"; | | "Delay normalization setting"; |
| leaf interval { | | leaf interval { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../offset"; | | must "../offset"; |
| description | | description |
| "Normalization interval"; | | "Normalization interval"; |
| } | | } |
| leaf offset { | | leaf offset { |
| type uint32 { | | type uint32 { |
| range "0..16777215" { | | range "0..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../interval"; | | must "../interval"; |
| description | | description |
| "Normalization offset"; | | "Normalization offset"; |
| } | | } |
| } | | } |
| } | | } |
| container virtual-links { | | container virtual-links { |
| description | | description |
| "Define a virtual link"; | | "Define a virtual link"; |
| list virtual-link { | | list virtual-link { |
| key "virtual-link-address"; | | key "virtual-link-address"; |
| description | | description |
| "Define a virtual link"; | | "Define a virtual link"; |
| leaf virtual-link-address { | | leaf virtual-link-address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "Define a virtual link"; | | "Define a virtual link"; |
| } | | } |
| leaf hello-interval { | | leaf hello-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between HELLO packets"; | | "Time between HELLO packets"; |
| } | | } |
| leaf dead-interval { | | leaf dead-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| must "not(../dead-interval-minimal-hello-multiplier)"; | | must "not(../dead-interval-minimal-hello-multiplier)"; |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| leaf dead-interval-minimal-hello-multiplier { | | leaf dead-interval-minimal-hello-multiplier { |
| type uint32 { | | type uint32 { |
| range "3..20" { | | range "3..20" { |
| description | | description |
| "Multiplier"; | | "Multiplier"; |
| } | | } |
| } | | } |
| must "not(../dead-interval)"; | | must "not(../dead-interval)"; |
| description | | description |
| "Set multiplier for Hellos"; | | "Set multiplier for Hellos"; |
| } | | } |
| leaf retransmit-interval { | | leaf retransmit-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Delay between LSA retransmissions"; | | "Delay between LSA retransmissions"; |
| } | | } |
| leaf transmit-delay { | | leaf transmit-delay { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Link state transmit delay"; | | "Link state transmit delay"; |
| } | | } |
| container authentication-key { | | container authentication-key { |
| description | | description |
| "Authentication password (key)"; | | "Authentication password (key)"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| container message-digest-keys { | | container message-digest-keys { |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| list message-digest-key { | | list message-digest-key { |
| key "message-digest-key-id"; | | key "message-digest-key-id"; |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| leaf message-digest-key-id { | | leaf message-digest-key-id { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Key ID"; | | "Key ID"; |
| } | | } |
| } | | } |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| } | | } |
| container md5 { | | container md5 { |
| description | | description |
| "Use MD5 algorithm"; | | "Use MD5 algorithm"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication { | | container authentication { |
| presence "Indicates a authentication node is configured."; | | presence "Indicates a authentication node is configured."; |
| description | | description |
| "Enable authentication"; | | "Enable authentication"; |
| container message-digest { | | container message-digest { |
| must "not(../null or ../keychain)"; | | must "not(../null or ../keychain)"; |
| presence "Indicates a message-digest node is configured."; | | presence "Indicates a message-digest node is configured."; |
| description | | description |
| "Use message-digest authentication"; | | "Use message-digest authentication"; |
| } | | } |
| container keychain { | | container keychain { |
| must "../keychain-name"; | | must "../keychain-name"; |
| presence "Indicates a keychain node is configured."; | | presence "Indicates a keychain node is configured."; |
| description | | description |
| "Use keychain"; | | "Use keychain"; |
| } | | } |
| leaf keychain-name { | | leaf keychain-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "The keychain name"; | | "The keychain name"; |
| } | | } |
| } | | } |
| must "(../message-digest or ../keychain) and not(../null)"; | | must "(../message-digest or ../keychain) and not(../null)"; |
| description | | description |
| "Specify keychain name"; | | "Specify keychain name"; |
| } | | } |
| container null { | | container null { |
| must "not(../message-digest or ../keychain)"; | | must "not(../message-digest or ../keychain)"; |
| presence "Indicates a null node is configured."; | | presence "Indicates a null node is configured."; |
| description | | description |
| "Use no authentication"; | | "Use no authentication"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container segment-routing { | | container segment-routing { |
| description | | description |
| "Segment Routing configuration"; | | "Segment Routing configuration"; |
| container global-block { | | container global-block { |
| presence "Indicates a global-block node is configured."; | | presence "Indicates a global-block node is configured."; |
| description | | description |
| "MPLS label range for SID allocation"; | | "MPLS label range for SID allocation"; |
| leaf minimum-mpls-label { | | leaf minimum-mpls-label { |
| type uint32 { | | type uint32 { |
| range "16000..1048575" { | | range "16000..1048575" { |
| description | | description |
| "Minimum MPLS label value for Segment Routing"; | | "Minimum MPLS label value for Segment Routing"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "MPLS label range for SID allocation"; | | "MPLS label range for SID allocation"; |
| } | | } |
| leaf maximum-mpls-label { | | leaf maximum-mpls-label { |
| type uint32 { | | type uint32 { |
| range "1..1048575" { | | range "1..1048575" { |
| description | | description |
| "Maximum MPLS label value for Segment Routing"; | | "Maximum MPLS label value for Segment Routing"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Maximum MPLS label value for Segment Routing"; | | "Maximum MPLS label value for Segment Routing"; |
| } | | } |
| } | | } |
| container prefix-sid-map { | | container prefix-sid-map { |
| description | | description |
| "Configuring segment routing mapping server"; | | "Configuring segment routing mapping server"; |
| container advertise-local { | | container advertise-local { |
| presence "Indicates a advertise-local node is configured."; | | presence "Indicates a advertise-local node is configured."; |
| description | | description |
| "Advertise and use local mapping server entries"; | | "Advertise and use local mapping server entries"; |
| } | | } |
| container receive { | | container receive { |
| description | | description |
| "Control the usage of remote mapping server advertisements"; | | "Control the usage of remote mapping server advertisements"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable the usage of remote mapping server advertisements"; | | "Disable the usage of remote mapping server advertisements"; |
| } | | } |
| } | | } |
| } | | } |
| container sr-prefer { | | container sr-prefer { |
| presence "Indicates a sr-prefer node is configured."; | | presence "Indicates a sr-prefer node is configured."; |
| description | | description |
| "Prefer segment routing labels over LDP labels"; | | "Prefer segment routing labels over LDP labels"; |
| leaf prefix-list { | | leaf prefix-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "Prefix-list name"; | | "Prefix-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "Filter prefixes for which SR preference is applied"; | | "Filter prefixes for which SR preference is applied"; |
| } | | } |
| } | | } |
| container forwarding { | | container forwarding { |
| must "mpls or disable"; | | must "mpls or disable"; |
| presence "Indicates a forwarding node is configured."; | | presence "Indicates a forwarding node is configured."; |
| description | | description |
| "Enable Segment-routing forwarding on interfaces"; | | "Enable Segment-routing forwarding on interfaces"; |
| container mpls { | | container mpls { |
| presence "Indicates a mpls node is configured."; | | presence "Indicates a mpls node is configured."; |
| description | | description |
| "Use MPLS for Segment-routing forwarding"; | | "Use MPLS for Segment-routing forwarding"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable Segment-routing on process interfaces"; | | "Disable Segment-routing on process interfaces"; |
| } | | } |
| } | | } |
| container mpls { | | container mpls { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a mpls node is configured."; | | presence "Indicates a mpls node is configured."; |
| description | | description |
| "SR using MPLS dataplane"; | | "SR using MPLS dataplane"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../mpls)"; | | must "not(../mpls)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable Segment Routing "; | | "Disable Segment Routing "; |
| } | | } |
| } | | } |
| container affinity-map { | | container affinity-map { |
| description | | description |
| "Affinity map configuration"; | | "Affinity map configuration"; |
| container affinity-attributes { | | container affinity-attributes { |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| list affinity-attribute { | | list affinity-attribute { |
| key "affinity-attribute-name"; | | key "affinity-attribute-name"; |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| leaf affinity-attribute-name { | | leaf affinity-attribute-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| } | | } |
| } | | } |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| } | | } |
| leaf bit-position { | | leaf bit-position { |
| type uint32 { | | type uint32 { |
| range "0..255" { | | range "0..255" { |
| description | | description |
| "Bit position"; | | "Bit position"; |
| } | | } |
| } | | } |
| description | | description |
| "Bit position for affinity attribute value"; | | "Bit position for affinity attribute value"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container flex-algos { | | container flex-algos { |
| description | | description |
| "Flex Algorithm definition"; | | "Flex Algorithm definition"; |
| list flex-algo { | | list flex-algo { |
| key "algorithm-number"; | | key "algorithm-number"; |
| description | | description |
| "Flex Algorithm definition"; | | "Flex Algorithm definition"; |
| leaf algorithm-number { | | leaf algorithm-number { |
| type uint32 { | | type uint32 { |
| range "128..255" { | | range "128..255" { |
| description | | description |
| "Algorithm number"; | | "Algorithm number"; |
| } | | } |
| } | | } |
| description | | description |
| "Flex Algorithm definition"; | | "Flex Algorithm definition"; |
| } | | } |
| leaf priority { | | leaf priority { |
| type uint32 { | | type uint32 { |
| range "0..255" { | | range "0..255" { |
| description | | description |
| "Priority value"; | | "Priority value"; |
| } | | } |
| } | | } |
| description | | description |
| "Flex-Algo definition priority"; | | "Flex-Algo definition priority"; |
| } | | } |
| container microloop { | | container microloop { |
| description | | description |
| "Microloop configuration"; | | "Microloop configuration"; |
| container avoidance { | | container avoidance { |
| presence "Indicates a avoidance node is configured."; | | presence "Indicates a avoidance node is configured."; |
| description | | description |
| "Microloop avoidance state"; | | "Microloop avoidance state"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable microloop avoidance for Flex-Algo"; | | "Disable microloop avoidance for Flex-Algo"; |
| } | | } |
| } | | } |
| } | | } |
| container prefix-metric { | | container prefix-metric { |
| presence "Indicates a prefix-metric node is configured."; | | presence "Indicates a prefix-metric node is configured."; |
| description | | description |
| "Advertise the Flex-Algo Definition"; | | "Advertise the Flex-Algo Definition"; |
| } | | } |
| container metric-type { | | container metric-type { |
| description | | description |
| "Metric-type used by flex-algo calculation"; | | "Metric-type used by flex-algo calculation"; |
| container delay { | | container delay { |
| presence "Indicates a delay node is configured."; | | presence "Indicates a delay node is configured."; |
| description | | description |
| "Use delay as metric"; | | "Use delay as metric"; |
| } | | } |
| container te-metric { | | container te-metric { |
| presence "Indicates a te-metric node is configured."; | | presence "Indicates a te-metric node is configured."; |
| description | | description |
| "Use te-metric"; | | "Use te-metric"; |
| } | | } |
| } | | } |
| container advertise-definition { | | container advertise-definition { |
| presence "Indicates a advertise-definition node is configured."; | | presence "Indicates a advertise-definition node is configured."; |
| description | | description |
| "Advertise the Flex-Algo Definition"; | | "Advertise the Flex-Algo Definition"; |
| } | | } |
| container fast-reroute { | | container fast-reroute { |
| description | | description |
| "Configure Fast ReRoute"; | | "Configure Fast ReRoute"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable Fast ReRoute for Flex-Algo"; | | "Disable Fast ReRoute for Flex-Algo"; |
| } | | } |
| } | | } |
| container affinity { | | container affinity { |
| description | | description |
| "Specify affinity name"; | | "Specify affinity name"; |
| container exclude-any { | | container exclude-any { |
| description | | description |
| "Exclude objects in flex-algo calculation"; | | "Exclude objects in flex-algo calculation"; |
| container affinity-attributes { | | container affinity-attributes { |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| list affinity-attribute { | | list affinity-attribute { |
| key "affinity-attribute-name"; | | key "affinity-attribute-name"; |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| leaf affinity-attribute-name { | | leaf affinity-attribute-name { |
| type xr:Cisco-ios-xr-string { | | type xr:Cisco-ios-xr-string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| } | | } |
| } | | } |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container include-any { | | container include-any { |
| description | | description |
| "Include any objects in flex-algo calculation"; | | "Include any objects in flex-algo calculation"; |
| container affinity-attributes { | | container affinity-attributes { |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| list affinity-attribute { | | list affinity-attribute { |
| key "affinity-attribute-name"; | | key "affinity-attribute-name"; |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| leaf affinity-attribute-name { | | leaf affinity-attribute-name { |
| type xr:Cisco-ios-xr-string { | | type xr:Cisco-ios-xr-string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| } | | } |
| } | | } |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container include-all { | | container include-all { |
| description | | description |
| "Include all objects in flex-algo calculation"; | | "Include all objects in flex-algo calculation"; |
| container affinity-attributes { | | container affinity-attributes { |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| list affinity-attribute { | | list affinity-attribute { |
| key "affinity-attribute-name"; | | key "affinity-attribute-name"; |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| leaf affinity-attribute-name { | | leaf affinity-attribute-name { |
| type xr:Cisco-ios-xr-string { | | type xr:Cisco-ios-xr-string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| } | | } |
| } | | } |
| description | | description |
| "Affinity attribute name"; | | "Affinity attribute name"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container srlg { | | container srlg { |
| description | | description |
| "Specify srlg name"; | | "Specify srlg name"; |
| container exclude-any { | | container exclude-any { |
| description | | description |
| "Exclude objects in flex-algo calculation"; | | "Exclude objects in flex-algo calculation"; |
| container srlgs { | | container srlgs { |
| description | | description |
| "srlg name"; | | "srlg name"; |
| list srlg { | | list srlg { |
| key "srlg-name"; | | key "srlg-name"; |
| description | | description |
| "srlg name"; | | "srlg name"; |
| leaf srlg-name { | | leaf srlg-name { |
| type string { | | type string { |
| length "1..64" { | | length "1..64" { |
| description | | description |
| "srlg name"; | | "srlg name"; |
| } | | } |
| } | | } |
| description | | description |
| "srlg name"; | | "srlg name"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication-key { | | container authentication-key { |
| description | | description |
| "Authentication password (key)"; | | "Authentication password (key)"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| container message-digest-keys { | | container message-digest-keys { |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| list message-digest-key { | | list message-digest-key { |
| key "message-digest-key-id"; | | key "message-digest-key-id"; |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| leaf message-digest-key-id { | | leaf message-digest-key-id { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Key ID"; | | "Key ID"; |
| } | | } |
| } | | } |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| } | | } |
| container md5 { | | container md5 { |
| description | | description |
| "Use MD5 algorithm"; | | "Use MD5 algorithm"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication { | | container authentication { |
| presence "Indicates a authentication node is configured."; | | presence "Indicates a authentication node is configured."; |
| description | | description |
| "Enable authentication"; | | "Enable authentication"; |
| container message-digest { | | container message-digest { |
| must "not(../null or ../keychain)"; | | must "not(../null or ../keychain)"; |
| presence "Indicates a message-digest node is configured."; | | presence "Indicates a message-digest node is configured."; |
| description | | description |
| "Use message-digest authentication"; | | "Use message-digest authentication"; |
| } | | } |
| container keychain { | | container keychain { |
| must "../keychain-name"; | | must "../keychain-name"; |
| presence "Indicates a keychain node is configured."; | | presence "Indicates a keychain node is configured."; |
| description | | description |
| "Use keychain"; | | "Use keychain"; |
| } | | } |
| leaf keychain-name { | | leaf keychain-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "The keychain name"; | | "The keychain name"; |
| } | | } |
| } | | } |
| must "(../message-digest or ../keychain) and not(../null)"; | | must "(../message-digest or ../keychain) and not(../null)"; |
| description | | description |
| "Specify keychain name"; | | "Specify keychain name"; |
| } | | } |
| container null { | | container null { |
| must "not(../message-digest or ../keychain)"; | | must "not(../message-digest or ../keychain)"; |
| presence "Indicates a null node is configured."; | | presence "Indicates a null node is configured."; |
| description | | description |
| "Use no authentication"; | | "Use no authentication"; |
| } | | } |
| } | | } |
| container network { | | container network { |
| description | | description |
| "Network type"; | | "Network type"; |
| container broadcast { | | container broadcast { |
| presence "Indicates a broadcast node is configured."; | | presence "Indicates a broadcast node is configured."; |
| description | | description |
| "Specify OSPF broadcast multi-access network"; | | "Specify OSPF broadcast multi-access network"; |
| } | | } |
| container non-broadcast { | | container non-broadcast { |
| presence "Indicates a non-broadcast node is configured."; | | presence "Indicates a non-broadcast node is configured."; |
| description | | description |
| "Specify OSPF NBMA network"; | | "Specify OSPF NBMA network"; |
| } | | } |
| container point-to-point { | | container point-to-point { |
| presence "Indicates a point-to-point node is configured."; | | presence "Indicates a point-to-point node is configured."; |
| description | | description |
| "Specify OSPF point-to-point network"; | | "Specify OSPF point-to-point network"; |
| } | | } |
| container point-to-multipoint { | | container point-to-multipoint { |
| presence "Indicates a point-to-multipoint node is configured."; | | presence "Indicates a point-to-multipoint node is configured."; |
| description | | description |
| "Specify OSPF point-to-multipoint network"; | | "Specify OSPF point-to-multipoint network"; |
| } | | } |
| } | | } |
| container external-out { | | container external-out { |
| description | | description |
| "Enable/Disable advertisement of intra-area prefixes as external"; | | "Enable/Disable advertisement of intra-area prefixes as external"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertisement of intra-area routes as external"; | | "Enable advertisement of intra-area routes as external"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertisement of intra-area routes as external"; | | "Disable advertisement of intra-area routes as external"; |
| } | | } |
| } | | } |
| container summary-in { | | container summary-in { |
| description | | description |
| "Enable/Disable advertisement of external prefixes as inter-area"; | | "Enable/Disable advertisement of external prefixes as inter-area"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertisement of external prefixes as inter-area"; | | "Enable advertisement of external prefixes as inter-area"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertisement of external prefixes as inter-area"; | | "Disable advertisement of external prefixes as inter-area"; |
| } | | } |
| } | | } |
| container adjacency { | | container adjacency { |
| description | | description |
| "OSPF adjacency bring up"; | | "OSPF adjacency bring up"; |
| container stagger { | | container stagger { |
| description | | description |
| "Stagger OSPF adjacency bring up"; | | "Stagger OSPF adjacency bring up"; |
| container disable { | | container disable { |
| must "not(../initial-number-of-neighbors)"; | | must "not(../initial-number-of-neighbors)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable stagger OSPF adjacency bring up"; | | "Disable stagger OSPF adjacency bring up"; |
| } | | } |
| leaf initial-number-of-neighbors { | | leaf initial-number-of-neighbors { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Initial number of neighbors to bring up per area (default 2)"; | | "Initial number of neighbors to bring up per area (default 2)"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Initial number of neighbors to bring up per area (default 2)"; | | "Initial number of neighbors to bring up per area (default 2)"; |
| } | | } |
| leaf maximum-simultaneous-neighbors { | | leaf maximum-simultaneous-neighbors { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Maximum simultaneous neighbors to bring up (default 64)"; | | "Maximum simultaneous neighbors to bring up (default 64)"; |
| } | | } |
| } | | } |
| must "../initial-number-of-neighbors"; | | must "../initial-number-of-neighbors"; |
| description | | description |
| "Maximum simultaneous neighbors to bring up (default 64)"; | | "Maximum simultaneous neighbors to bring up (default 64)"; |
| } | | } |
| } | | } |
| } | | } |
| container snmp { | | container snmp { |
| description | | description |
| "SNMP configuration"; | | "SNMP configuration"; |
| leaf context { | | leaf context { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "SNMP context name"; | | "SNMP context name"; |
| } | | } |
| pattern "[a-zA-Z0-9*/_]+"; | | pattern "[a-zA-Z0-9*/_]+"; |
| } | | } |
| description | | description |
| "Specified SNMP context for OSPF instance"; | | "Specified SNMP context for OSPF instance"; |
| } | | } |
| container trap { | | container trap { |
| description | | description |
| "Adjust snmp trap parameters"; | | "Adjust snmp trap parameters"; |
| leaf rate-limit { | | leaf rate-limit { |
| type uint32 { | | type uint32 { |
| range "2..60" { | | range "2..60" { |
| description | | description |
| "Trap rate limit sliding window size"; | | "Trap rate limit sliding window size"; |
| } | | } |
| } | | } |
| description | | description |
| "Adjust trap rate-limit parameters"; | | "Adjust trap rate-limit parameters"; |
| } | | } |
| leaf max-number-of-traps { | | leaf max-number-of-traps { |
| type uint32 { | | type uint32 { |
| range "0..300" { | | range "0..300" { |
| description | | description |
| "Max number of traps sent in window time"; | | "Max number of traps sent in window time"; |
| } | | } |
| } | | } |
| description | | description |
| "Max number of traps sent in window time"; | | "Max number of traps sent in window time"; |
| } | | } |
| } | | } |
| } | | } |
| container monitor-convergence { | | container monitor-convergence { |
| presence "Indicates a monitor-convergence node is configured."; | | presence "Indicates a monitor-convergence node is configured."; |
| description | | description |
| "Enables OSPF route convergence monitoring"; | | "Enables OSPF route convergence monitoring"; |
| leaf prefix-list { | | leaf prefix-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "Prefix List Name"; | | "Prefix List Name"; |
| } | | } |
| } | | } |
| description | | description |
| "Enables Individual Prefix Monitoring"; | | "Enables Individual Prefix Monitoring"; |
| } | | } |
| container track-summary-routes { | | container track-summary-routes { |
| presence "Indicates a track-summary-routes node is configured."; | | presence "Indicates a track-summary-routes node is configured."; |
| description | | description |
| "Enables Tracking Summary(Inter-Area) Prefix Monitoring"; | | "Enables Tracking Summary(Inter-Area) Prefix Monitoring"; |
| } | | } |
| container track-external-routes { | | container track-external-routes { |
| presence "Indicates a track-external-routes node is configured."; | | presence "Indicates a track-external-routes node is configured."; |
| description | | description |
| "Enables Tracking External(Type-5/7) Prefix Monitoring"; | | "Enables Tracking External(Type-5/7) Prefix Monitoring"; |
| } | | } |
| container track-ip-frr { | | container track-ip-frr { |
| presence "Indicates a track-ip-frr node is configured."; | | presence "Indicates a track-ip-frr node is configured."; |
| description | | description |
| "Enables Tracking IP-Frr Convergence"; | | "Enables Tracking IP-Frr Convergence"; |
| } | | } |
| } | | } |
| container ucmp { | | container ucmp { |
| description | | description |
| "Unequal Cost Load Balancing"; | | "Unequal Cost Load Balancing"; |
| container enable { | | container enable { |
| presence "Indicates a ucmp node is configured."; | | presence "Indicates a ucmp node is configured."; |
| description | | description |
| "Enable ucmp"; | | "Enable ucmp"; |
| leaf variance { | | leaf variance { |
| type uint32 { | | type uint32 { |
| range "101..10000" { | | range "101..10000" { |
| description | | description |
| "Percentage of the primary path metric"; | | "Percentage of the primary path metric"; |
| } | | } |
| } | | } |
| default "200"; | | default "200"; |
| description | | description |
| "Set the Variance for UCMP path metric"; | | "Set the Variance for UCMP path metric"; |
| } | | } |
| leaf prefix-list { | | leaf prefix-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "Prefix-list name"; | | "Prefix-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "Filter prefixes for which UCMP path are calculated"; | | "Filter prefixes for which UCMP path are calculated"; |
| } | | } |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "UCMP exclusion information"; | | "UCMP exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface during UCMP computation"; | | "Exclude an interface during UCMP computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface during UCMP computation"; | | "Exclude an interface during UCMP computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface during UCMP computation"; | | "Exclude an interface during UCMP computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf delay-interval { | | leaf delay-interval { |
| type uint32 { | | type uint32 { |
| range "1..5000" { | | range "1..5000" { |
| description | | description |
| "ms"; | | "ms"; |
| } | | } |
| } | | } |
| description | | description |
| "Interval between SPF and start of the UCMP calculation"; | | "Interval between SPF and start of the UCMP calculation"; |
| } | | } |
| } | | } |
| container apply-weight { | | container apply-weight { |
| presence "Indicates a apply-weight node is configured."; | | presence "Indicates a apply-weight node is configured."; |
| description | | description |
| "Enable weights configured under interfaces for load sharing"; | | "Enable weights configured under interfaces for load sharing"; |
| leaf use-interface-bandwidth { | | leaf use-interface-bandwidth { |
| type boolean; | | type boolean; |
| mandatory true; | | mandatory true; |
| description | | description |
| "Use interface bandwidth when calculating weights"; | | "Use interface bandwidth when calculating weights"; |
| } | | } |
| leaf bandwidth { | | leaf bandwidth { |
| type uint32 { | | type uint32 { |
| range "1..4294967" { | | range "1..4294967" { |
| description | | description |
| "Reference bandwidth to use for calculation | | "Reference bandwidth to use for calculation |
| (Mbits/sec). | | (Mbits/sec). |
| Value must be 100 when use-interface-bandwidth = false"; | | Value must be 100 when use-interface-bandwidth = false"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Reference bandwidth to use for calculation | | "Reference bandwidth to use for calculation |
| (Mbits/sec). | | (Mbits/sec). |
| Value must be 100 when use-interface-bandwidth = false"; | | Value must be 100 when use-interface-bandwidth = false"; |
| } | | } |
| leaf default-weight { | | leaf default-weight { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "Specify default weight value. Value must be 1 when use-interface-bandwidth = true"; | | "Specify default weight value. Value must be 1 when use-interface-bandwidth = true"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Specify default weight value.Value must be 1 when use-interface-bandwidth = true"; | | "Specify default weight value.Value must be 1 when use-interface-bandwidth = true"; |
| } | | } |
| } | | } |
| container srlg { | | container srlg { |
| description | | description |
| "Weighted SRLG configurations"; | | "Weighted SRLG configurations"; |
| leaf admin-weight { | | leaf admin-weight { |
| type uint32 { | | type uint32 { |
| range "0..65535" { | | range "0..65535" { |
| description | | description |
| "Default weight"; | | "Default weight"; |
| } | | } |
| } | | } |
| description | | description |
| "Default admin weight for all SRLG values"; | | "Default admin weight for all SRLG values"; |
| } | | } |
| container names { | | container names { |
| description | | description |
| "Weighted SRLG name configuration"; | | "Weighted SRLG name configuration"; |
| list name { | | list name { |
| key "srlg-name"; | | key "srlg-name"; |
| description | | description |
| "Weighted SRLG name configuration"; | | "Weighted SRLG name configuration"; |
| leaf srlg-name { | | leaf srlg-name { |
| type xr:Cisco-ios-xr-string { | | type xr:Cisco-ios-xr-string { |
| length "1..64" { | | length "1..64" { |
| description | | description |
| "SRLG name"; | | "SRLG name"; |
| } | | } |
| } | | } |
| description | | description |
| "Weighted SRLG name configuration"; | | "Weighted SRLG name configuration"; |
| } | | } |
| leaf admin-weight { | | leaf admin-weight { |
| type uint32 { | | type uint32 { |
| range "0..65535" { | | range "0..65535" { |
| description | | description |
| "Default weight"; | | "Default weight"; |
| } | | } |
| } | | } |
| description | | description |
| "Default admin weight for all SRLG values"; | | "Default admin weight for all SRLG values"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container max-external-lsa { | | container max-external-lsa { |
| presence "Indicates a max-extern-lsa node is configured."; | | presence "Indicates a max-extern-lsa node is configured."; |
| description | | description |
| "Maximum number of external LSAs OSPF process will receive"; | | "Maximum number of external LSAs OSPF process will receive"; |
| leaf max-external-lsa { | | leaf max-external-lsa { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Maximum number of external LSAs per ASBR this process can receive"; | | "Maximum number of external LSAs per ASBR this process can receive"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Maximum number of External LSAs per ASBR"; | | "Maximum number of External LSAs per ASBR"; |
| } | | } |
| leaf threshold-value { | | leaf threshold-value { |
| type uint32 { | | type uint32 { |
| range "1..100" { | | range "1..100" { |
| description | | description |
| "Threshold value (%) at which to generate a warning msg"; | | "Threshold value (%) at which to generate a warning msg"; |
| } | | } |
| } | | } |
| description | | description |
| "Threshold value (%) at which to generate a warning msg"; | | "Threshold value (%) at which to generate a warning msg"; |
| } | | } |
| container suppress-neighbor { | | container suppress-neighbor { |
| must "not(../warning-only)"; | | must "not(../warning-only)"; |
| presence "Indicates a suppress-neighbor node is configured."; | | presence "Indicates a suppress-neighbor node is configured."; |
| description | | description |
| "Suppress the neighbor when limit is crossed"; | | "Suppress the neighbor when limit is crossed"; |
| } | | } |
| container warning-only { | | container warning-only { |
| must "not(../suppress-neighbor)"; | | must "not(../suppress-neighbor)"; |
| presence "Indicates a warning-only node is configured."; | | presence "Indicates a warning-only node is configured."; |
| description | | description |
| "Only give warning message when limit is exceeded"; | | "Only give warning message when limit is exceeded"; |
| } | | } |
| } | | } |
| container exchange-timer { | | container exchange-timer { |
| presence "Indicates a exchange hold timer is configured."; | | presence "Indicates a exchange hold timer is configured."; |
| description | | description |
| "Time after which interface will be brought down or up."; | | "Time after which interface will be brought down or up."; |
| leaf exchange-timer { | | leaf exchange-timer { |
| type uint32 { | | type uint32 { |
| range "1..35791394" { | | range "1..35791394" { |
| description | | description |
| "Exchange time in minutes"; | | "Exchange time in minutes"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Time after which interface will be brought down if adjacency is stuck in exchange/loading"; | | "Time after which interface will be brought down if adjacency is stuck in exchange/loading"; |
| } | | } |
| leaf hold-time { | | leaf hold-time { |
| type uint32 { | | type uint32 { |
| range "1..35791394" { | | range "1..35791394" { |
| description | | description |
| "Recovery time in minutes"; | | "Recovery time in minutes"; |
| } | | } |
| } | | } |
| description | | description |
| "Time after which interface will be brought up to recover adjacencies"; | | "Time after which interface will be brought up to recover adjacencies"; |
| } | | } |
| leaf recovery-count { | | leaf recovery-count { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Recovery count value"; | | "Recovery count value"; |
| } | | } |
| } | | } |
| description | | description |
| "Number of times recovery will be attempted"; | | "Number of times recovery will be attempted"; |
| } | | } |
| } | | } |
| container distribute { | | container distribute { |
| description | | description |
| "Enable Distribution of LSAs to external services"; | | "Enable Distribution of LSAs to external services"; |
| container link-state { | | container link-state { |
| presence "Indicates a link-state node is configured."; | | presence "Indicates a link-state node is configured."; |
| description | | description |
| "Distribute the link-state database to external services"; | | "Distribute the link-state database to external services"; |
| leaf instance-id { | | leaf instance-id { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "Instance ID"; | | "Instance ID"; |
| } | | } |
| } | | } |
| description | | description |
| "Set distribution process instance identifier"; | | "Set distribution process instance identifier"; |
| } | | } |
| leaf throttle { | | leaf throttle { |
| type uint32 { | | type uint32 { |
| range "1..3600" { | | range "1..3600" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Throttle time between successive LSA updates"; | | "Throttle time between successive LSA updates"; |
| } | | } |
| container excl-external { | | container excl-external { |
| presence "Indicates a excl-external node is configured."; | | presence "Indicates a excl-external node is configured."; |
| description | | description |
| "Filter advertisement of external prefixes"; | | "Filter advertisement of external prefixes"; |
| } | | } |
| container allow-prefix { | | container allow-prefix { |
| description | | description |
| "Selectively allow prefixes from route policy"; | | "Selectively allow prefixes from route policy"; |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Specify the route-policy to allow a set of prefixes"; | | "Specify the route-policy to allow a set of prefixes"; |
| } | | } |
| } | | } |
| leaf follow-on { | | leaf follow-on { |
| type uint32 { | | type uint32 { |
| range "1..3600" { | | range "1..3600" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Follow on time between successive LSA updates"; | | "Follow on time between successive LSA updates"; |
| } | | } |
| } | | } |
| } | | } |
| container nsr { | | container nsr { |
| presence "Indicates a nsr node is configured."; | | presence "Indicates a nsr node is configured."; |
| description | | description |
| "Enable NSR for all VRFs in this process"; | | "Enable NSR for all VRFs in this process"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable NSR for all VRFs in this process"; | | "Disable NSR for all VRFs in this process"; |
| } | | } |
| } | | } |
| container trace { | | container trace { |
| description | | description |
| "OSPF tracing options"; | | "OSPF tracing options"; |
| list size { | | list size { |
| key "trace-buffer-name"; | | key "trace-buffer-name"; |
| description | | description |
| "Delete existing buffer and create one with N entries"; | | "Delete existing buffer and create one with N entries"; |
| leaf trace-buffer-name { | | leaf trace-buffer-name { |
| type xr:Cisco-ios-xr-string { | | type xr:Cisco-ios-xr-string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "Name of trace buffer"; | | "Name of trace buffer"; |
| } | | } |
| } | | } |
| description | | description |
| "Delete existing buffer and create one with N entries"; | | "Delete existing buffer and create one with N entries"; |
| } | | } |
| leaf trace-entry-size { | | leaf trace-entry-size { |
| type enumeration { | | type enumeration { |
| enum "0" { | | enum "0" { |
| value 0; | | value 0; |
| description | | description |
| "disable trace"; | | "disable trace"; |
| } | | } |
| enum "256" { | | enum "256" { |
| value 256; | | value 256; |
| description | | description |
| "trace entries"; | | "trace entries"; |
| } | | } |
| enum "512" { | | enum "512" { |
| value 512; | | value 512; |
| description | | description |
| "trace entries"; | | "trace entries"; |
| } | | } |
| enum "1024" { | | enum "1024" { |
| value 1024; | | value 1024; |
| description | | description |
| "trace entries"; | | "trace entries"; |
| } | | } |
| enum "2048" { | | enum "2048" { |
| value 2048; | | value 2048; |
| description | | description |
| "trace entries"; | | "trace entries"; |
| } | | } |
| enum "4096" { | | enum "4096" { |
| value 4096; | | value 4096; |
| description | | description |
| "trace entries"; | | "trace entries"; |
| } | | } |
| enum "8192" { | | enum "8192" { |
| value 8192; | | value 8192; |
| description | | description |
| "trace entries"; | | "trace entries"; |
| } | | } |
| enum "16384" { | | enum "16384" { |
| value 16384; | | value 16384; |
| description | | description |
| "trace entries"; | | "trace entries"; |
| } | | } |
| enum "32768" { | | enum "32768" { |
| value 32768; | | value 32768; |
| description | | description |
| "trace entries"; | | "trace entries"; |
| } | | } |
| enum "65536" { | | enum "65536" { |
| value 65536; | | value 65536; |
| description | | description |
| "trace entries"; | | "trace entries"; |
| } | | } |
| } | | } |
| description | | description |
| "Number of trece entries"; | | "Number of trece entries"; |
| } | | } |
| } | | } |
| } | | } |
| container protocol { | | container protocol { |
| description | | description |
| "Protocol specific configuration"; | | "Protocol specific configuration"; |
| container shutdown { | | container shutdown { |
| presence "Indicates a shutdown node is configured."; | | presence "Indicates a shutdown node is configured."; |
| description | | description |
| "Shutdown the OSPF protocol"; | | "Shutdown the OSPF protocol"; |
| container host-mode { | | container host-mode { |
| presence "Indicates a host-mode node is configured."; | | presence "Indicates a host-mode node is configured."; |
| description | | description |
| "Only traffic destined for this box allowed"; | | "Only traffic destined for this box allowed"; |
| } | | } |
| container on-reload { | | container on-reload { |
| presence "Indicates a on-reload node is configured."; | | presence "Indicates a on-reload node is configured."; |
| description | | description |
| "Shutdown post reload only"; | | "Shutdown post reload only"; |
| } | | } |
| } | | } |
| } | | } |
| container vrfs { | | container vrfs { |
| description | | description |
| "Enter the OSPF vrf configuration submode"; | | "Enter the OSPF vrf configuration submode"; |
| list vrf { | | list vrf { |
| key "vrf-name"; | | key "vrf-name"; |
| description | | description |
| "Name for this OSPF vrf"; | | "Name for this OSPF vrf"; |
| leaf vrf-name { | | leaf vrf-name { |
| type xr:Cisco-ios-xr-string { | | type xr:Cisco-ios-xr-string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "Name for this OSPF vrf (must not be 'default')"; | | "Name for this OSPF vrf (must not be 'default')"; |
| } | | } |
| } | | } |
| description | | description |
| "Name for this OSPF vrf"; | | "Name for this OSPF vrf"; |
| } | | } |
| container domain-id { | | container domain-id { |
| description | | description |
| "Specify domain id"; | | "Specify domain id"; |
| leaf type { | | leaf type { |
| type enumeration { | | type enumeration { |
| enum "0005" { | | enum "0005" { |
| value 5; | | value 5; |
| description | | description |
| " Type 0x0005"; | | " Type 0x0005"; |
| } | | } |
| enum "0105" { | | enum "0105" { |
| value 261; | | value 261; |
| description | | description |
| " Type 0x0105"; | | " Type 0x0105"; |
| } | | } |
| enum "0205" { | | enum "0205" { |
| value 517; | | value 517; |
| description | | description |
| " Type 0x0205"; | | " Type 0x0205"; |
| } | | } |
| enum "8005" { | | enum "8005" { |
| value 32773; | | value 32773; |
| description | | description |
| " Type 0x8005"; | | " Type 0x8005"; |
| } | | } |
| } | | } |
| description | | description |
| "Primary OSPF domain ID type in Hex format"; | | "Primary OSPF domain ID type in Hex format"; |
| } | | } |
| leaf value { | | leaf value { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "OSPF domain ID ext. community value in Hex (6 octets)"; | | "OSPF domain ID ext. community value in Hex (6 octets)"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF domain ID value in Hex format"; | | "OSPF domain ID value in Hex format"; |
| } | | } |
| container secondaries { | | container secondaries { |
| description | | description |
| "OSPF secondary domain-id"; | | "OSPF secondary domain-id"; |
| list secondary { | | list secondary { |
| key "type value"; | | key "type value"; |
| description | | description |
| "OSPF domain ID type in Hex format"; | | "OSPF domain ID type in Hex format"; |
| leaf type { | | leaf type { |
| type enumeration { | | type enumeration { |
| enum "0005" { | | enum "0005" { |
| value 5; | | value 5; |
| description | | description |
| " Type 0x0005"; | | " Type 0x0005"; |
| } | | } |
| enum "0105" { | | enum "0105" { |
| value 261; | | value 261; |
| description | | description |
| " Type 0x0105"; | | " Type 0x0105"; |
| } | | } |
| enum "0205" { | | enum "0205" { |
| value 517; | | value 517; |
| description | | description |
| " Type 0x0205"; | | " Type 0x0205"; |
| } | | } |
| enum "8005" { | | enum "8005" { |
| value 32773; | | value 32773; |
| description | | description |
| " Type 0x8005"; | | " Type 0x8005"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF domain ID type in Hex format"; | | "OSPF domain ID type in Hex format"; |
| } | | } |
| leaf value { | | leaf value { |
| type xr:Cisco-ios-xr-string { | | type xr:Cisco-ios-xr-string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "OSPF domain ID ext. community value in Hex (6 octets)"; | | "OSPF domain ID ext. community value in Hex (6 octets)"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF domain ID value in Hex format"; | | "OSPF domain ID value in Hex format"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf domain-tag { | | leaf domain-tag { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "OSPF domain tag - 32-bit value"; | | "OSPF domain tag - 32-bit value"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF domain tag"; | | "OSPF domain tag"; |
| } | | } |
| container disable-dn-bit-check { | | container disable-dn-bit-check { |
| presence "Indicates a disable-dn-bit-check node is configured."; | | presence "Indicates a disable-dn-bit-check node is configured."; |
| description | | description |
| "Disable DN bit check"; | | "Disable DN bit check"; |
| } | | } |
| container log { | | container log { |
| description | | description |
| "Log ospf info"; | | "Log ospf info"; |
| container adjacency { | | container adjacency { |
| description | | description |
| "Log adjacency state info"; | | "Log adjacency state info"; |
| container changes { | | container changes { |
| description | | description |
| "Log changes"; | | "Log changes"; |
| container detail { | | container detail { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a detail node is configured."; | | presence "Indicates a detail node is configured."; |
| description | | description |
| "Log all state changes"; | | "Log all state changes"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../detail)"; | | must "not(../detail)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable logging"; | | "Disable logging"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf router-id { | | leaf router-id { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "configure this node"; | | "configure this node"; |
| } | | } |
| container redistribute { | | container redistribute { |
| description | | description |
| "Redistribute information from another routing protocol"; | | "Redistribute information from another routing protocol"; |
| container connected { | | container connected { |
| presence "Indicates a connected node is configured."; | | presence "Indicates a connected node is configured."; |
| description | | description |
| "Connected routes"; | | "Connected routes"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container static { | | container static { |
| presence "Indicates a static node is configured."; | | presence "Indicates a static node is configured."; |
| description | | description |
| "Static routes"; | | "Static routes"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container dagr { | | container dagr { |
| presence "Indicates a dagr node is configured."; | | presence "Indicates a dagr node is configured."; |
| description | | description |
| "Directed-attached gateway redundancy (DAGR)"; | | "Directed-attached gateway redundancy (DAGR)"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container subscriber { | | container subscriber { |
| presence "Indicates a subscriber node is configured."; | | presence "Indicates a subscriber node is configured."; |
| description | | description |
| "Subscriber routes"; | | "Subscriber routes"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container mobile { | | container mobile { |
| presence "Indicates a mobile node is configured."; | | presence "Indicates a mobile node is configured."; |
| description | | description |
| "Mobile routes"; | | "Mobile routes"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container applications { | | container applications { |
| description | | description |
| "OnePK application routes"; | | "OnePK application routes"; |
| list application { | | list application { |
| key "application-name"; | | key "application-name"; |
| description | | description |
| "OnePK application routes"; | | "OnePK application routes"; |
| leaf application-name { | | leaf application-name { |
| type xr:Cisco-ios-xr-string { | | type xr:Cisco-ios-xr-string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "OnePK Application name"; | | "OnePK Application name"; |
| } | | } |
| } | | } |
| description | | description |
| "OnePK application routes"; | | "OnePK application routes"; |
| } | | } |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| } | | } |
| list eigrp { | | list eigrp { |
| key "as-number"; | | key "as-number"; |
| description | | description |
| "Enhanced Interior Gateway Routing Protocol (EIGRP)"; | | "Enhanced Interior Gateway Routing Protocol (EIGRP)"; |
| leaf as-number { | | leaf as-number { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Autonomous system number"; | | "Autonomous system number"; |
| } | | } |
| } | | } |
| description | | description |
| "Enhanced Interior Gateway Routing Protocol (EIGRP)"; | | "Enhanced Interior Gateway Routing Protocol (EIGRP)"; |
| } | | } |
| container match { | | container match { |
| description | | description |
| "Redistribution of EIGRP routes"; | | "Redistribution of EIGRP routes"; |
| container internal { | | container internal { |
| presence "Indicates a internal node is configured."; | | presence "Indicates a internal node is configured."; |
| description | | description |
| "Redistribute EIGRP internal routes"; | | "Redistribute EIGRP internal routes"; |
| } | | } |
| container external { | | container external { |
| presence "Indicates a external node is configured."; | | presence "Indicates a external node is configured."; |
| description | | description |
| "Redistribute EIGRP external routes"; | | "Redistribute EIGRP external routes"; |
| } | | } |
| } | | } |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container rip { | | container rip { |
| presence "Indicates a rip node is configured."; | | presence "Indicates a rip node is configured."; |
| description | | description |
| "Routing Information Protocol (RIP)"; | | "Routing Information Protocol (RIP)"; |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| container bgp { | | container bgp { |
| description | | description |
| "Border Gateway Protocol (BGP)"; | | "Border Gateway Protocol (BGP)"; |
| list as { | | list as { |
| key "as-number"; | | key "as-number"; |
| description | | description |
| "bgp as-number"; | | "bgp as-number"; |
| leaf as-number { | | leaf as-number { |
| type xr:Bgp-as-number; | | type xr:Bgp-as-number; |
| description | | description |
| "bgp as-number"; | | "bgp as-number"; |
| } | | } |
| container preserve-med { | | container preserve-med { |
| presence "Indicates a preserve-med node is configured."; | | presence "Indicates a preserve-med node is configured."; |
| description | | description |
| "Preserve med of BGP routes"; | | "Preserve med of BGP routes"; |
| } | | } |
| container preserve-bgp-default-info { | | container preserve-bgp-default-info { |
| presence "Indicates a preserve-bgp-default-info node is configured."; | | presence "Indicates a preserve-bgp-default-info node is configured."; |
| description | | description |
| "Preserve metric and metric-type of BGP default route"; | | "Preserve metric and metric-type of BGP default route"; |
| } | | } |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| } | | } |
| list isis { | | list isis { |
| key "instance-name"; | | key "instance-name"; |
| description | | description |
| "ISO IS-IS"; | | "ISO IS-IS"; |
| leaf instance-name { | | leaf instance-name { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "IS-IS instance name"; | | "IS-IS instance name"; |
| } | | } |
| } | | } |
| description | | description |
| "ISO IS-IS"; | | "ISO IS-IS"; |
| } | | } |
| container level-1 { | | container level-1 { |
| presence "Indicates a level-1 node is configured."; | | presence "Indicates a level-1 node is configured."; |
| description | | description |
| "IS-IS level-1 routes only"; | | "IS-IS level-1 routes only"; |
| } | | } |
| container level-2 { | | container level-2 { |
| presence "Indicates a level-2 node is configured."; | | presence "Indicates a level-2 node is configured."; |
| description | | description |
| "IS-IS level-2 routes only"; | | "IS-IS level-2 routes only"; |
| } | | } |
| container level-1-2 { | | container level-1-2 { |
| presence "Indicates a level-1-2 node is configured."; | | presence "Indicates a level-1-2 node is configured."; |
| description | | description |
| "IS-IS level-1 and level-2 routes"; | | "IS-IS level-1 and level-2 routes"; |
| } | | } |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| list ospf { | | list ospf { |
| key "instance-name"; | | key "instance-name"; |
| description | | description |
| "Open Shortest Path First (OSPF)"; | | "Open Shortest Path First (OSPF)"; |
| leaf instance-name { | | leaf instance-name { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "OSPF instance name"; | | "OSPF instance name"; |
| } | | } |
| } | | } |
| description | | description |
| "Open Shortest Path First (OSPF)"; | | "Open Shortest Path First (OSPF)"; |
| } | | } |
| container match { | | container match { |
| description | | description |
| "Redistribution of OSPF routes"; | | "Redistribution of OSPF routes"; |
| container internal { | | container internal { |
| presence "Indicates a internal node is configured."; | | presence "Indicates a internal node is configured."; |
| description | | description |
| "Redistribute OSPF internal routes"; | | "Redistribute OSPF internal routes"; |
| } | | } |
| container external { | | container external { |
| presence "Indicates a external node is configured."; | | presence "Indicates a external node is configured."; |
| description | | description |
| "Redistribute OSPF external routes"; | | "Redistribute OSPF external routes"; |
| container one { | | container one { |
| presence "Indicates a one node is configured."; | | presence "Indicates a one node is configured."; |
| description | | description |
| "Redistribute external type 1 routes"; | | "Redistribute external type 1 routes"; |
| } | | } |
| container two { | | container two { |
| presence "Indicates a two node is configured."; | | presence "Indicates a two node is configured."; |
| description | | description |
| "Redistribute external type 2 routes"; | | "Redistribute external type 2 routes"; |
| } | | } |
| } | | } |
| container nssa-external { | | container nssa-external { |
| presence "Indicates a nssa-external node is configured."; | | presence "Indicates a nssa-external node is configured."; |
| description | | description |
| "Redistribute OSPF NSSA external routes"; | | "Redistribute OSPF NSSA external routes"; |
| container one { | | container one { |
| presence "Indicates a one node is configured."; | | presence "Indicates a one node is configured."; |
| description | | description |
| "Redistribute NSSA external type 1 routes"; | | "Redistribute NSSA external type 1 routes"; |
| } | | } |
| container two { | | container two { |
| presence "Indicates a two node is configured."; | | presence "Indicates a two node is configured."; |
| description | | description |
| "Redistribute NSSA external type 2 routes"; | | "Redistribute NSSA external type 2 routes"; |
| } | | } |
| } | | } |
| } | | } |
| container metric { | | container metric { |
| description | | description |
| "Metric for redistributed routes"; | | "Metric for redistributed routes"; |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| container use-rib-metric { | | container use-rib-metric { |
| presence "Indicates a use-rib-metric node is configured."; | | presence "Indicates a use-rib-metric node is configured."; |
| description | | description |
| "Use metric from RIB"; | | "Use metric from RIB"; |
| } | | } |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| description | | description |
| "Set tag for routes redistributed into OSPF"; | | "Set tag for routes redistributed into OSPF"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type enumeration { | | type enumeration { |
| enum "1" { | | enum "1" { |
| value 1; | | value 1; |
| description | | description |
| "Set OSPF External Type 1 metrics"; | | "Set OSPF External Type 1 metrics"; |
| } | | } |
| enum "2" { | | enum "2" { |
| value 2; | | value 2; |
| description | | description |
| "Set OSPF External Type 2 metrics"; | | "Set OSPF External Type 2 metrics"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF exterior metric type for redistributed routes"; | | "OSPF exterior metric type for redistributed routes"; |
| } | | } |
| container lsa-type { | | container lsa-type { |
| description | | description |
| "LSA type for redistributed routes"; | | "LSA type for redistributed routes"; |
| container summary { | | container summary { |
| presence "Indicates a summary node is configured."; | | presence "Indicates a summary node is configured."; |
| description | | description |
| "LSA type 3"; | | "LSA type 3"; |
| } | | } |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to redistribution"; | | "Apply route-policy to redistribution"; |
| } | | } |
| container nssa-only { | | container nssa-only { |
| presence "Indicates a nssa-only node is configured."; | | presence "Indicates a nssa-only node is configured."; |
| description | | description |
| "Redistribute to NSSA areas only"; | | "Redistribute to NSSA areas only"; |
| } | | } |
| } | | } |
| } | | } |
| container distribute-list { | | container distribute-list { |
| presence "Indicates a distribute-list node is configured."; | | presence "Indicates a distribute-list node is configured."; |
| description | | description |
| "Filter networks in routing updates"; | | "Filter networks in routing updates"; |
| container in { | | container in { |
| description | | description |
| "Filter incoming routing updates"; | | "Filter incoming routing updates"; |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "In-bound access-list name"; | | "In-bound access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "In-bound access-list name"; | | "In-bound access-list name"; |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Route Policy to filter OSPF prefixes"; | | "Route Policy to filter OSPF prefixes"; |
| } | | } |
| } | | } |
| container out { | | container out { |
| description | | description |
| "Filter outgoing routing updates"; | | "Filter outgoing routing updates"; |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| container connected { | | container connected { |
| description | | description |
| "Connected"; | | "Connected"; |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| container static { | | container static { |
| description | | description |
| "Static routes"; | | "Static routes"; |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| container dagr { | | container dagr { |
| description | | description |
| "Directed-attached gateway redundancy (DAGR)"; | | "Directed-attached gateway redundancy (DAGR)"; |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| container bgp { | | container bgp { |
| description | | description |
| "Border Gateway Protocol (BGP)"; | | "Border Gateway Protocol (BGP)"; |
| leaf as { | | leaf as { |
| type xr:Bgp-as-number; | | type xr:Bgp-as-number; |
| description | | description |
| "bgp as-number"; | | "bgp as-number"; |
| } | | } |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| container ospf { | | container ospf { |
| description | | description |
| "Open Shortest Path First (OSPF)"; | | "Open Shortest Path First (OSPF)"; |
| leaf instance-name { | | leaf instance-name { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "OSPF instance name"; | | "OSPF instance name"; |
| } | | } |
| } | | } |
| description | | description |
| "Open Shortest Path First (OSPF)"; | | "Open Shortest Path First (OSPF)"; |
| } | | } |
| leaf access-list { | | leaf access-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "access-list name"; | | "access-list name"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf packet-size { | | leaf packet-size { |
| type uint32 { | | type uint32 { |
| range "576..10000" { | | range "576..10000" { |
| description | | description |
| "Size of OSPF packets to use Min: 576 Max: MTU bytes"; | | "Size of OSPF packets to use Min: 576 Max: MTU bytes"; |
| } | | } |
| } | | } |
| description | | description |
| "Customize size of OSPF packets upto MTU"; | | "Customize size of OSPF packets upto MTU"; |
| } | | } |
| container bfd { | | container bfd { |
| description | | description |
| "Configure BFD parameters"; | | "Configure BFD parameters"; |
| container fast-detect { | | container fast-detect { |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable Fast detection"; | | "Enable Fast detection"; |
| container strict-mode { | | container strict-mode { |
| presence "Indicates a strict-mode node is configured."; | | presence "Indicates a strict-mode node is configured."; |
| description | | description |
| "Hold down neighbor session until BFD session is up"; | | "Hold down neighbor session until BFD session is up"; |
| } | | } |
| } | | } |
| leaf minimum-interval { | | leaf minimum-interval { |
| type uint32 { | | type uint32 { |
| range "3..30000" { | | range "3..30000" { |
| description | | description |
| "minimum interval in milli-seconds"; | | "minimum interval in milli-seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Minimum interval"; | | "Minimum interval"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "2..50" { | | range "2..50" { |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| container security { | | container security { |
| description | | description |
| "Enable security"; | | "Enable security"; |
| container ttl { | | container ttl { |
| presence "Indicates a ttl node is configured."; | | presence "Indicates a ttl node is configured."; |
| description | | description |
| "Enable ttl security"; | | "Enable ttl security"; |
| leaf hops { | | leaf hops { |
| type uint32 { | | type uint32 { |
| range "1..254" { | | range "1..254" { |
| description | | description |
| "maximum number of hops allowed"; | | "maximum number of hops allowed"; |
| } | | } |
| } | | } |
| description | | description |
| "IP hops"; | | "IP hops"; |
| } | | } |
| } | | } |
| } | | } |
| container prefix-suppression { | | container prefix-suppression { |
| description | | description |
| "Suppress advertisement of the prefixes"; | | "Suppress advertisement of the prefixes"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable primary address suppression"; | | "Enable primary address suppression"; |
| } | | } |
| container secondary-address { | | container secondary-address { |
| description | | description |
| "Enable/Disable secondary address suppression"; | | "Enable/Disable secondary address suppression"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable secondary address suppression"; | | "Enable secondary address suppression"; |
| } | | } |
| } | | } |
| } | | } |
| container default-information { | | container default-information { |
| description | | description |
| "Control distribution of default information"; | | "Control distribution of default information"; |
| container originate { | | container originate { |
| presence "Indicates a originate node is configured."; | | presence "Indicates a originate node is configured."; |
| description | | description |
| "Distribute a default route"; | | "Distribute a default route"; |
| container always { | | container always { |
| presence "Indicates a always node is configured."; | | presence "Indicates a always node is configured."; |
| description | | description |
| "Always advertise default route"; | | "Always advertise default route"; |
| } | | } |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF metric"; | | "OSPF metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type uint32 { | | type uint32 { |
| range "1..2" { | | range "1..2" { |
| description | | description |
| "OSPF Link State type"; | | "OSPF Link State type"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF metric type for default routes"; | | "OSPF metric type for default routes"; |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Apply route-policy to default-information origination"; | | "Apply route-policy to default-information origination"; |
| } | | } |
| } | | } |
| } | | } |
| leaf default-metric { | | leaf default-metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "Default metric"; | | "Default metric"; |
| } | | } |
| } | | } |
| description | | description |
| "Default metric"; | | "Default metric"; |
| } | | } |
| container distance { | | container distance { |
| description | | description |
| "Define an administrative distance"; | | "Define an administrative distance"; |
| container administrative-distance { | | container administrative-distance { |
| description | | description |
| "Administrative distance"; | | "Administrative distance"; |
| leaf administrative-distance { | | leaf administrative-distance { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Administrative distance"; | | "Administrative distance"; |
| } | | } |
| } | | } |
| default "110"; | | default "110"; |
| description | | description |
| "Administrative distance"; | | "Administrative distance"; |
| } | | } |
| container source-addresses { | | container source-addresses { |
| description | | description |
| "Administrative distance source address"; | | "Administrative distance source address"; |
| list source-address { | | list source-address { |
| key "address wildcard"; | | key "address wildcard"; |
| description | | description |
| "source address"; | | "source address"; |
| leaf address { | | leaf address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "IP Source address"; | | "IP Source address"; |
| } | | } |
| leaf wildcard { | | leaf wildcard { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "IP wild card bits -- inverted mask"; | | "IP wild card bits -- inverted mask"; |
| } | | } |
| leaf distance { | | leaf distance { |
| type uint32 { | | type uint32 { |
| range "1..255"; | | range "1..255"; |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Administrative distance"; | | "Administrative distance"; |
| } | | } |
| leaf access-list-name { | | leaf access-list-name { |
| type string; | | type string; |
| description | | description |
| "Access Control List name"; | | "Access Control List name"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container ospf { | | container ospf { |
| description | | description |
| "OSPF distance"; | | "OSPF distance"; |
| leaf intra-area { | | leaf intra-area { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Distance for intra-area routes"; | | "Distance for intra-area routes"; |
| } | | } |
| } | | } |
| description | | description |
| "Intra-area routes"; | | "Intra-area routes"; |
| } | | } |
| leaf inter-area { | | leaf inter-area { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Distance for inter-area routes"; | | "Distance for inter-area routes"; |
| } | | } |
| } | | } |
| description | | description |
| "Inter-area routes"; | | "Inter-area routes"; |
| } | | } |
| leaf external { | | leaf external { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Distance for external type 5 and type 7 routes"; | | "Distance for external type 5 and type 7 routes"; |
| } | | } |
| } | | } |
| description | | description |
| "External type 5 and type 7 routes"; | | "External type 5 and type 7 routes"; |
| } | | } |
| } | | } |
| } | | } |
| container auto-cost { | | container auto-cost { |
| description | | description |
| "Calculate OSPF interface cost according to bandwidth"; | | "Calculate OSPF interface cost according to bandwidth"; |
| leaf reference-bandwidth { | | leaf reference-bandwidth { |
| type uint32 { | | type uint32 { |
| range "1..4294967" { | | range "1..4294967" { |
| description | | description |
| "The reference bandwidth in terms of Mbits per second"; | | "The reference bandwidth in terms of Mbits per second"; |
| } | | } |
| } | | } |
| description | | description |
| "Specify reference bandwidth for OSPF cost computations"; | | "Specify reference bandwidth for OSPF cost computations"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Assign OSPF cost based on interface type"; | | "Assign OSPF cost based on interface type"; |
| } | | } |
| } | | } |
| container ignore { | | container ignore { |
| description | | description |
| "Do not complain about specific event"; | | "Do not complain about specific event"; |
| container lsa { | | container lsa { |
| description | | description |
| "Do not complain upon receiving LSA of the specified type"; | | "Do not complain upon receiving LSA of the specified type"; |
| container mospf { | | container mospf { |
| presence "Indicates a mospf node is configured."; | | presence "Indicates a mospf node is configured."; |
| description | | description |
| "MOSPF Type 6 LSA"; | | "MOSPF Type 6 LSA"; |
| } | | } |
| } | | } |
| } | | } |
| container capability { | | container capability { |
| description | | description |
| "Enable specific OSPF feature"; | | "Enable specific OSPF feature"; |
| container opaque { | | container opaque { |
| description | | description |
| "Opaque LSA"; | | "Opaque LSA"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable Opaque LSA capability"; | | "Disable Opaque LSA capability"; |
| } | | } |
| } | | } |
| container lls { | | container lls { |
| presence "Indicates a lls node is configured."; | | presence "Indicates a lls node is configured."; |
| description | | description |
| "Link Local Signalling"; | | "Link Local Signalling"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable Link Local Signalling capability"; | | "Disable Link Local Signalling capability"; |
| } | | } |
| } | | } |
| container type7 { | | container type7 { |
| description | | description |
| "NSSA capability"; | | "NSSA capability"; |
| container prefer { | | container prefer { |
| presence "Indicates a prefer node is configured."; | | presence "Indicates a prefer node is configured."; |
| description | | description |
| "Prefer type7 externals over type5"; | | "Prefer type7 externals over type5"; |
| } | | } |
| } | | } |
| container vrf-lite { | | container vrf-lite { |
| presence "Indicates a vrf-lite node is configured."; | | presence "Indicates a vrf-lite node is configured."; |
| description | | description |
| "Enable VRF-lite support"; | | "Enable VRF-lite support"; |
| } | | } |
| } | | } |
| container max-metric { | | container max-metric { |
| description | | description |
| "Set maximum metric"; | | "Set maximum metric"; |
| container router-lsa { | | container router-lsa { |
| presence "Indicates a router-lsa node is configured."; | | presence "Indicates a router-lsa node is configured."; |
| description | | description |
| "Maximum metric in self-originated router-LSAs"; | | "Maximum metric in self-originated router-LSAs"; |
| container include-stub { | | container include-stub { |
| presence "Indicates a include-stub node is configured."; | | presence "Indicates a include-stub node is configured."; |
| description | | description |
| "Set maximum metric for stub links in router-LSAs"; | | "Set maximum metric for stub links in router-LSAs"; |
| } | | } |
| container summary-lsa { | | container summary-lsa { |
| presence "Indicates a summary-lsa node is configured."; | | presence "Indicates a summary-lsa node is configured."; |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| container external-lsa { | | container external-lsa { |
| presence "Indicates a external-lsa node is configured."; | | presence "Indicates a external-lsa node is configured."; |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in external-LSAs (default 16711680)"; | | "Overriding metric in external-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| } | | } |
| } | | } |
| } | | } |
| container router-lsa-no-abr-off { | | container router-lsa-no-abr-off { |
| presence "Indicates a no-abr-off node is configured."; | | presence "Indicates a no-abr-off node is configured."; |
| description | | description |
| "Do not temporarily suspend ABR duties in max-metric mode"; | | "Do not temporarily suspend ABR duties in max-metric mode"; |
| } | | } |
| container router-lsa-on-startup { | | container router-lsa-on-startup { |
| description | | description |
| "On startup"; | | "On startup"; |
| leaf originate-time { | | leaf originate-time { |
| type uint32 { | | type uint32 { |
| range "5..86400" { | | range "5..86400" { |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| } | | } |
| must "not(../wait-for-bgp)"; | | must "not(../wait-for-bgp)"; |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| container wait-for-bgp { | | container wait-for-bgp { |
| must "not(../originate-time)"; | | must "not(../originate-time)"; |
| presence "Indicates a wait-for-bgp node is configured."; | | presence "Indicates a wait-for-bgp node is configured."; |
| description | | description |
| "Let BGP decide when to originate router-LSA with normal metric"; | | "Let BGP decide when to originate router-LSA with normal metric"; |
| } | | } |
| container include-stub { | | container include-stub { |
| presence "Indicates a include-stub node is configured."; | | presence "Indicates a include-stub node is configured."; |
| description | | description |
| "Set maximum metric for stub links in router-LSAs"; | | "Set maximum metric for stub links in router-LSAs"; |
| } | | } |
| container summary-lsa { | | container summary-lsa { |
| presence "Indicates a summary-lsa node is configured."; | | presence "Indicates a summary-lsa node is configured."; |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| container external-lsa { | | container external-lsa { |
| presence "Indicates a external-lsa node is configured."; | | presence "Indicates a external-lsa node is configured."; |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in external-LSAs (default 16711680)"; | | "Overriding metric in external-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| } | | } |
| } | | } |
| } | | } |
| container router-lsa-on-switchover { | | container router-lsa-on-switchover { |
| description | | description |
| "On switchover"; | | "On switchover"; |
| leaf originate-time { | | leaf originate-time { |
| type uint32 { | | type uint32 { |
| range "5..86400" { | | range "5..86400" { |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| } | | } |
| must "not(../wait-for-bgp)"; | | must "not(../wait-for-bgp)"; |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| container wait-for-bgp { | | container wait-for-bgp { |
| must "not(../originate-time)"; | | must "not(../originate-time)"; |
| presence "Indicates a wait-for-bgp node is configured."; | | presence "Indicates a wait-for-bgp node is configured."; |
| description | | description |
| "Let BGP decide when to originate router-LSA with normal metric"; | | "Let BGP decide when to originate router-LSA with normal metric"; |
| } | | } |
| container include-stub { | | container include-stub { |
| presence "Indicates a include-stub node is configured."; | | presence "Indicates a include-stub node is configured."; |
| description | | description |
| "Set maximum metric for stub links in router-LSAs"; | | "Set maximum metric for stub links in router-LSAs"; |
| } | | } |
| container summary-lsa { | | container summary-lsa { |
| presence "Indicates a summary-lsa node is configured."; | | presence "Indicates a summary-lsa node is configured."; |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| container external-lsa { | | container external-lsa { |
| presence "Indicates a external-lsa node is configured."; | | presence "Indicates a external-lsa node is configured."; |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in external-LSAs (default 16711680)"; | | "Overriding metric in external-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| } | | } |
| } | | } |
| } | | } |
| container router-lsa-on-proc-restart { | | container router-lsa-on-proc-restart { |
| description | | description |
| "On process restart"; | | "On process restart"; |
| leaf originate-time { | | leaf originate-time { |
| type uint32 { | | type uint32 { |
| range "5..86400" { | | range "5..86400" { |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| } | | } |
| must "not(../wait-for-bgp)"; | | must "not(../wait-for-bgp)"; |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| container wait-for-bgp { | | container wait-for-bgp { |
| must "not(../originate-time)"; | | must "not(../originate-time)"; |
| presence "Indicates a wait-for-bgp node is configured."; | | presence "Indicates a wait-for-bgp node is configured."; |
| description | | description |
| "Let BGP decide when to originate router-LSA with normal metric"; | | "Let BGP decide when to originate router-LSA with normal metric"; |
| } | | } |
| container include-stub { | | container include-stub { |
| presence "Indicates a include-stub node is configured."; | | presence "Indicates a include-stub node is configured."; |
| description | | description |
| "Set maximum metric for stub links in router-LSAs"; | | "Set maximum metric for stub links in router-LSAs"; |
| } | | } |
| container summary-lsa { | | container summary-lsa { |
| presence "Indicates a summary-lsa node is configured."; | | presence "Indicates a summary-lsa node is configured."; |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| container external-lsa { | | container external-lsa { |
| presence "Indicates a external-lsa node is configured."; | | presence "Indicates a external-lsa node is configured."; |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in external-LSAs (default 16711680)"; | | "Overriding metric in external-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| } | | } |
| } | | } |
| } | | } |
| container router-lsa-on-proc-migration { | | container router-lsa-on-proc-migration { |
| description | | description |
| "On process migration"; | | "On process migration"; |
| leaf originate-time { | | leaf originate-time { |
| type uint32 { | | type uint32 { |
| range "5..86400" { | | range "5..86400" { |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| } | | } |
| must "not(../wait-for-bgp)"; | | must "not(../wait-for-bgp)"; |
| description | | description |
| "Time in seconds to originate router-LSA with max-metric"; | | "Time in seconds to originate router-LSA with max-metric"; |
| } | | } |
| container wait-for-bgp { | | container wait-for-bgp { |
| must "not(../originate-time)"; | | must "not(../originate-time)"; |
| presence "Indicates a wait-for-bgp node is configured."; | | presence "Indicates a wait-for-bgp node is configured."; |
| description | | description |
| "Let BGP decide when to originate router-LSA with normal metric"; | | "Let BGP decide when to originate router-LSA with normal metric"; |
| } | | } |
| container include-stub { | | container include-stub { |
| presence "Indicates a include-stub node is configured."; | | presence "Indicates a include-stub node is configured."; |
| description | | description |
| "Set maximum metric for stub links in router-LSAs"; | | "Set maximum metric for stub links in router-LSAs"; |
| } | | } |
| container summary-lsa { | | container summary-lsa { |
| presence "Indicates a summary-lsa node is configured."; | | presence "Indicates a summary-lsa node is configured."; |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Overriding metric in summary-LSAs (default 16711680)"; | | "Overriding metric in summary-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| container external-lsa { | | container external-lsa { |
| presence "Indicates a external-lsa node is configured."; | | presence "Indicates a external-lsa node is configured."; |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Overriding metric in external-LSAs (default 16711680)"; | | "Overriding metric in external-LSAs (default 16711680)"; |
| } | | } |
| } | | } |
| description | | description |
| "Override external-lsa metric with max-metric value"; | | "Override external-lsa metric with max-metric value"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container max-lsa { | | container max-lsa { |
| presence "Indicates a max-lsa node is configured."; | | presence "Indicates a max-lsa node is configured."; |
| description | | description |
| "Maximum number of LSAs OSPF process will receive"; | | "Maximum number of LSAs OSPF process will receive"; |
| leaf max-lsa { | | leaf max-lsa { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Maximum number of non self-generated LSAs this process can receive"; | | "Maximum number of non self-generated LSAs this process can receive"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Maximum number of LSAs OSPF process will receive"; | | "Maximum number of LSAs OSPF process will receive"; |
| } | | } |
| leaf threshold { | | leaf threshold { |
| type uint32 { | | type uint32 { |
| range "1..100"; | | range "1..100"; |
| } | | } |
| description | | description |
| "Threshold value (%) at which to generate a warning msg"; | | "Threshold value (%) at which to generate a warning msg"; |
| } | | } |
| container warning-only { | | container warning-only { |
| presence "Indicates a warning-only node is configured."; | | presence "Indicates a warning-only node is configured."; |
| description | | description |
| "Only give warning message when limit is exceeded"; | | "Only give warning message when limit is exceeded"; |
| } | | } |
| leaf ignore-time { | | leaf ignore-time { |
| type uint32 { | | type uint32 { |
| range "1..35791394" { | | range "1..35791394" { |
| description | | description |
| "number of minutes during which all adjacencies are suppressed"; | | "number of minutes during which all adjacencies are suppressed"; |
| } | | } |
| } | | } |
| must "not(../warning-only)"; | | must "not(../warning-only)"; |
| description | | description |
| "time during which all adjacencies are suppressed"; | | "time during which all adjacencies are suppressed"; |
| } | | } |
| leaf ignore-count { | | leaf ignore-count { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "count on how many times adjacencies can be suppressed"; | | "count on how many times adjacencies can be suppressed"; |
| } | | } |
| } | | } |
| must "not(../warning-only)"; | | must "not(../warning-only)"; |
| description | | description |
| "maximum number of times adjacencies can be suppressed"; | | "maximum number of times adjacencies can be suppressed"; |
| } | | } |
| leaf reset-time { | | leaf reset-time { |
| type uint32 { | | type uint32 { |
| range "2..71582788" { | | range "2..71582788" { |
| description | | description |
| "number of minutes after which ignore-count is reset to zero"; | | "number of minutes after which ignore-count is reset to zero"; |
| } | | } |
| } | | } |
| must "not(../warning-only)"; | | must "not(../warning-only)"; |
| description | | description |
| "time after which ignore-count is reset to zero"; | | "time after which ignore-count is reset to zero"; |
| } | | } |
| } | | } |
| container timers { | | container timers { |
| description | | description |
| "Adjust routing timers"; | | "Adjust routing timers"; |
| container throttle { | | container throttle { |
| description | | description |
| "OSPF throttle timers"; | | "OSPF throttle timers"; |
| container spf { | | container spf { |
| presence "Indicates a spf node is configured."; | | presence "Indicates a spf node is configured."; |
| description | | description |
| "OSPF SPF throttle timers"; | | "OSPF SPF throttle timers"; |
| leaf initial-delay { | | leaf initial-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Delay between receiving a change to SPF calculation in milliseconds"; | | "Delay between receiving a change to SPF calculation in milliseconds"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "OSPF SPF throttle timers"; | | "OSPF SPF throttle timers"; |
| } | | } |
| leaf second-delay { | | leaf second-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Delay between first and second SPF calculation in milliseconds"; | | "Delay between first and second SPF calculation in milliseconds"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Delay between first and second SPF calculation in milliseconds"; | | "Delay between first and second SPF calculation in milliseconds"; |
| } | | } |
| leaf maximum-delay { | | leaf maximum-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Maximum wait time in milliseconds for SPF calculations"; | | "Maximum wait time in milliseconds for SPF calculations"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Maximum wait time in milliseconds for SPF calculations"; | | "Maximum wait time in milliseconds for SPF calculations"; |
| } | | } |
| } | | } |
| container lsa { | | container lsa { |
| description | | description |
| "LSA throttle timers"; | | "LSA throttle timers"; |
| container all { | | container all { |
| presence "Indicates a all node is configured."; | | presence "Indicates a all node is configured."; |
| description | | description |
| "For all types of OSPF LSAs"; | | "For all types of OSPF LSAs"; |
| leaf initial-delay { | | leaf initial-delay { |
| type uint32 { | | type uint32 { |
| range "0..600000" { | | range "0..600000" { |
| description | | description |
| "Delay to generate first occurance of LSA in milliseconds"; | | "Delay to generate first occurance of LSA in milliseconds"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "For all types of OSPF LSAs"; | | "For all types of OSPF LSAs"; |
| } | | } |
| leaf minimum-delay { | | leaf minimum-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Minimum delay between originating the same LSA in milliseconds"; | | "Minimum delay between originating the same LSA in milliseconds"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Minimum delay between originating the same LSA in milliseconds"; | | "Minimum delay between originating the same LSA in milliseconds"; |
| } | | } |
| leaf maximum-delay { | | leaf maximum-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Maximum delay between originating the same LSA in milliseconds"; | | "Maximum delay between originating the same LSA in milliseconds"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Maximum delay between originating the same LSA in milliseconds"; | | "Maximum delay between originating the same LSA in milliseconds"; |
| } | | } |
| } | | } |
| } | | } |
| leaf fast-reroute { | | leaf fast-reroute { |
| type uint32 { | | type uint32 { |
| range "50..600000" { | | range "50..600000" { |
| description | | description |
| "Delay between end of SPF and start of the fast-reroute computation in milliseconds"; | | "Delay between end of SPF and start of the fast-reroute computation in milliseconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Fast-reroute throttle timer"; | | "Fast-reroute throttle timer"; |
| } | | } |
| } | | } |
| container lsa { | | container lsa { |
| description | | description |
| "OSPF global LSA timers"; | | "OSPF global LSA timers"; |
| leaf group-pacing { | | leaf group-pacing { |
| type uint32 { | | type uint32 { |
| range "10..1800" { | | range "10..1800" { |
| description | | description |
| "Interval between group of LSA being refreshed or maxaged"; | | "Interval between group of LSA being refreshed or maxaged"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF LSA group pacing timer"; | | "OSPF LSA group pacing timer"; |
| } | | } |
| leaf min-arrival { | | leaf min-arrival { |
| type uint32 { | | type uint32 { |
| range "0..600000" { | | range "0..600000" { |
| description | | description |
| "The minimum interval in millisec between accepting the same LSA"; | | "The minimum interval in millisec between accepting the same LSA"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF MinLSArrival timer"; | | "OSPF MinLSArrival timer"; |
| } | | } |
| leaf refresh { | | leaf refresh { |
| type uint32 { | | type uint32 { |
| range "1800..2700" { | | range "1800..2700" { |
| description | | description |
| "How often self-originated LSAs should be refreshed, in seconds"; | | "How often self-originated LSAs should be refreshed, in seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF LSA refresh interval"; | | "OSPF LSA refresh interval"; |
| } | | } |
| } | | } |
| container pacing { | | container pacing { |
| description | | description |
| "OSPF pacing timers"; | | "OSPF pacing timers"; |
| leaf flood { | | leaf flood { |
| type uint32 { | | type uint32 { |
| range "5..100" { | | range "5..100" { |
| description | | description |
| "Interval in msec to pace flooding on all interfaces"; | | "Interval in msec to pace flooding on all interfaces"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF flood pacing timer"; | | "OSPF flood pacing timer"; |
| } | | } |
| } | | } |
| } | | } |
| container nsf { | | container nsf { |
| description | | description |
| "Enable Cisco Non Stop Forwarding"; | | "Enable Cisco Non Stop Forwarding"; |
| container cisco { | | container cisco { |
| presence "Indicates a cisco node is configured."; | | presence "Indicates a cisco node is configured."; |
| description | | description |
| "Enable Cisco Non Stop Forwarding"; | | "Enable Cisco Non Stop Forwarding"; |
| container enforce { | | container enforce { |
| description | | description |
| "Cancel NSF restart when non-NSF-aware neighbors detected"; | | "Cancel NSF restart when non-NSF-aware neighbors detected"; |
| container global { | | container global { |
| presence "Indicates a global node is configured."; | | presence "Indicates a global node is configured."; |
| description | | description |
| "For the whole OSPF process"; | | "For the whole OSPF process"; |
| } | | } |
| } | | } |
| } | | } |
| leaf interval { | | leaf interval { |
| type uint32 { | | type uint32 { |
| range "90..3600" { | | range "90..3600" { |
| description | | description |
| "seconds"; | | "seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Minimum interval between NSF restarts (seconds)"; | | "Minimum interval between NSF restarts (seconds)"; |
| } | | } |
| container ietf { | | container ietf { |
| presence "Indicates a ietf node is configured."; | | presence "Indicates a ietf node is configured."; |
| description | | description |
| "Enable ietf graceful restart"; | | "Enable ietf graceful restart"; |
| } | | } |
| container ietf-strict-lsa-checking { | | container ietf-strict-lsa-checking { |
| presence "Indicates a strict-lsa-checking node is configured."; | | presence "Indicates a strict-lsa-checking node is configured."; |
| description | | description |
| "terminate graceful restart helper mode if lsa changed"; | | "terminate graceful restart helper mode if lsa changed"; |
| } | | } |
| container ietf-helper { | | container ietf-helper { |
| description | | description |
| "router's helper support level"; | | "router's helper support level"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "router's helper support disabled"; | | "router's helper support disabled"; |
| } | | } |
| } | | } |
| leaf lifetime { | | leaf lifetime { |
| type uint32 { | | type uint32 { |
| range "90..1800" { | | range "90..1800" { |
| description | | description |
| "seconds"; | | "seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Maximum route lifetime following restart (seconds)"; | | "Maximum route lifetime following restart (seconds)"; |
| } | | } |
| leaf flush-delay-time { | | leaf flush-delay-time { |
| type uint32 { | | type uint32 { |
| range "1..3600" { | | range "1..3600" { |
| description | | description |
| "seconds"; | | "seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Maximum time allowed for external route learning (seconds)"; | | "Maximum time allowed for external route learning (seconds)"; |
| } | | } |
| } | | } |
| container address-family { | | container address-family { |
| description | | description |
| "OSPF address family"; | | "OSPF address family"; |
| container ipv4 { | | container ipv4 { |
| presence "Indicates a ipv4 node is configured."; | | presence "Indicates a ipv4 node is configured."; |
| description | | description |
| "IPV4 address family"; | | "IPV4 address family"; |
| container unicast { | | container unicast { |
| presence "Indicates a unicast node is configured."; | | presence "Indicates a unicast node is configured."; |
| description | | description |
| "unicast topology"; | | "unicast topology"; |
| } | | } |
| } | | } |
| } | | } |
| container maximum { | | container maximum { |
| description | | description |
| "Set OSPF limits"; | | "Set OSPF limits"; |
| leaf interfaces { | | leaf interfaces { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Maximum number of interfaces"; | | "Maximum number of interfaces"; |
| } | | } |
| } | | } |
| description | | description |
| "Limit number of interfaces"; | | "Limit number of interfaces"; |
| } | | } |
| leaf paths { | | leaf paths { |
| type uint32 { | | type uint32 { |
| range "1..64" { | | range "1..64" { |
| description | | description |
| "Maximum number of paths per route"; | | "Maximum number of paths per route"; |
| } | | } |
| } | | } |
| description | | description |
| "Limit number of paths"; | | "Limit number of paths"; |
| } | | } |
| container redistributed-prefixes { | | container redistributed-prefixes { |
| presence "Indicates a redistributed-prefixes node is configured."; | | presence "Indicates a redistributed-prefixes node is configured."; |
| description | | description |
| "Limit number of redistributed prefixes"; | | "Limit number of redistributed prefixes"; |
| leaf prefixes { | | leaf prefixes { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Maximum number of prefixes redistributed into OSPF"; | | "Maximum number of prefixes redistributed into OSPF"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Limit number of redistributed prefixes"; | | "Limit number of redistributed prefixes"; |
| } | | } |
| leaf threshold { | | leaf threshold { |
| type uint32 { | | type uint32 { |
| range "1..100"; | | range "1..100"; |
| } | | } |
| description | | description |
| "Threshold value (%) at which to generate a warning msg"; | | "Threshold value (%) at which to generate a warning msg"; |
| } | | } |
| container warning-only { | | container warning-only { |
| presence "Indicates a warning-only node is configured."; | | presence "Indicates a warning-only node is configured."; |
| description | | description |
| "Only give warning messsage when limit is exceeded"; | | "Only give warning messsage when limit is exceeded"; |
| } | | } |
| } | | } |
| } | | } |
| container queue { | | container queue { |
| description | | description |
| "Adjust OSPF input queue"; | | "Adjust OSPF input queue"; |
| container limit { | | container limit { |
| description | | description |
| "High watermark for incoming priority events"; | | "High watermark for incoming priority events"; |
| leaf high { | | leaf high { |
| type uint32 { | | type uint32 { |
| range "1000..30000" { | | range "1000..30000" { |
| description | | description |
| "Hello events are dropped when incoming event queue exceeds this value"; | | "Hello events are dropped when incoming event queue exceeds this value"; |
| } | | } |
| } | | } |
| description | | description |
| "High watermark for incoming high priority events (hello)"; | | "High watermark for incoming high priority events (hello)"; |
| } | | } |
| leaf medium { | | leaf medium { |
| type uint32 { | | type uint32 { |
| range "1000..30000" { | | range "1000..30000" { |
| description | | description |
| "LSA ACKs are dropped when incoming event queue exceeds this value"; | | "LSA ACKs are dropped when incoming event queue exceeds this value"; |
| } | | } |
| } | | } |
| description | | description |
| "High watermark for incoming medium priority events (LSA ACK)"; | | "High watermark for incoming medium priority events (LSA ACK)"; |
| } | | } |
| leaf low { | | leaf low { |
| type uint32 { | | type uint32 { |
| range "1000..30000" { | | range "1000..30000" { |
| description | | description |
| "DBD/LS Update/Req packets are dropped when incoming event queue exceeds this value"; | | "DBD/LS Update/Req packets are dropped when incoming event queue exceeds this value"; |
| } | | } |
| } | | } |
| description | | description |
| "High watermark for incoming low priority events (DBD/LSUpd/Req)"; | | "High watermark for incoming low priority events (DBD/LSUpd/Req)"; |
| } | | } |
| } | | } |
| container dispatch { | | container dispatch { |
| description | | description |
| "Number of continuous events processed by type"; | | "Number of continuous events processed by type"; |
| leaf incoming { | | leaf incoming { |
| type uint32 { | | type uint32 { |
| range "30..3000" { | | range "30..3000" { |
| description | | description |
| "Maximum number of continuous events processed"; | | "Maximum number of continuous events processed"; |
| } | | } |
| } | | } |
| description | | description |
| "Number of continuous incoming events processed"; | | "Number of continuous incoming events processed"; |
| } | | } |
| leaf rate-limited-lsa { | | leaf rate-limited-lsa { |
| type uint32 { | | type uint32 { |
| range "30..3000" { | | range "30..3000" { |
| description | | description |
| "Maximum number of rate-limited LSAs processed per run"; | | "Maximum number of rate-limited LSAs processed per run"; |
| } | | } |
| } | | } |
| description | | description |
| "Number of rate-limited LSAs processed"; | | "Number of rate-limited LSAs processed"; |
| } | | } |
| leaf flush-lsa { | | leaf flush-lsa { |
| type uint32 { | | type uint32 { |
| range "30..3000" { | | range "30..3000" { |
| description | | description |
| "Maximum number of LSAs flushed per run"; | | "Maximum number of LSAs flushed per run"; |
| } | | } |
| } | | } |
| description | | description |
| "Number of LSAs flushed"; | | "Number of LSAs flushed"; |
| } | | } |
| leaf spf-lsa-limit { | | leaf spf-lsa-limit { |
| type uint32 { | | type uint32 { |
| range "30..3000" { | | range "30..3000" { |
| description | | description |
| "Maximum number of Type 3-7 LSAs processed per SPF run"; | | "Maximum number of Type 3-7 LSAs processed per SPF run"; |
| } | | } |
| } | | } |
| description | | description |
| "Number of summary or external LSAs processed per run"; | | "Number of summary or external LSAs processed per run"; |
| } | | } |
| } | | } |
| } | | } |
| container summary-prefixes { | | container summary-prefixes { |
| description | | description |
| "Configure IP address summaries"; | | "Configure IP address summaries"; |
| list summary-prefix { | | list summary-prefix { |
| key "address mask"; | | key "address mask"; |
| description | | description |
| "Configure IP address summaries"; | | "Configure IP address summaries"; |
| leaf address { | | leaf address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "IP summary prefix address"; | | "IP summary prefix address"; |
| } | | } |
| leaf mask { | | leaf mask { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "IP smmary address mask"; | | "IP smmary address mask"; |
| } | | } |
| container not-advertise { | | container not-advertise { |
| must "not(../tag)"; | | must "not(../tag)"; |
| presence "Indicates a not-advertise node is configured."; | | presence "Indicates a not-advertise node is configured."; |
| description | | description |
| "Suppress routes that match the specified prefix/mask pair"; | | "Suppress routes that match the specified prefix/mask pair"; |
| } | | } |
| leaf tag { | | leaf tag { |
| type uint32 { | | type uint32 { |
| range "0..4294967295" { | | range "0..4294967295" { |
| description | | description |
| "32-bit tag value"; | | "32-bit tag value"; |
| } | | } |
| } | | } |
| must "not(../not-advertise)"; | | must "not(../not-advertise)"; |
| description | | description |
| "Set tag"; | | "Set tag"; |
| } | | } |
| } | | } |
| } | | } |
| container spf { | | container spf { |
| description | | description |
| "SPF configuration"; | | "SPF configuration"; |
| container prefix-priority { | | container prefix-priority { |
| description | | description |
| "Configure SPF prefix priority route policy"; | | "Configure SPF prefix priority route policy"; |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Specify the route-policy to prioritize route install"; | | "Specify the route-policy to prioritize route install"; |
| } | | } |
| } | | } |
| } | | } |
| container fast-reroute { | | container fast-reroute { |
| description | | description |
| "IP Fast Reroute"; | | "IP Fast Reroute"; |
| container per-prefix { | | container per-prefix { |
| description | | description |
| "Per-prefix Computation"; | | "Per-prefix Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-prefix Computation"; | | "Enable per-prefix Computation"; |
| } | | } |
| container priority-limit { | | container priority-limit { |
| description | | description |
| "Limit backup computation upto the prefix priority"; | | "Limit backup computation upto the prefix priority"; |
| container critical { | | container critical { |
| must "not(../high) and not(../medium)"; | | must "not(../high) and not(../medium)"; |
| presence "Indicates a critical node is configured."; | | presence "Indicates a critical node is configured."; |
| description | | description |
| "Compute for critical priority prefixes only"; | | "Compute for critical priority prefixes only"; |
| } | | } |
| container high { | | container high { |
| must "not(../critical) and not(../medium)"; | | must "not(../critical) and not(../medium)"; |
| presence "Indicates a high node is configured."; | | presence "Indicates a high node is configured."; |
| description | | description |
| "Compute for critical & high priority prefixes "; | | "Compute for critical & high priority prefixes "; |
| } | | } |
| container medium { | | container medium { |
| must "not(../high) and not(../critical)"; | | must "not(../high) and not(../critical)"; |
| presence "Indicates a medium node is configured."; | | presence "Indicates a medium node is configured."; |
| description | | description |
| "Compute for critical, high & medium priority prefixes "; | | "Compute for critical, high & medium priority prefixes "; |
| } | | } |
| } | | } |
| container tiebreaker { | | container tiebreaker { |
| description | | description |
| "Configure tiebreaker for multiple backups"; | | "Configure tiebreaker for multiple backups"; |
| container downstream { | | container downstream { |
| description | | description |
| "Prefer backup path via downstream node"; | | "Prefer backup path via downstream node"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lc-disjoint { | | container lc-disjoint { |
| description | | description |
| "Prefer line card disjoint backup path"; | | "Prefer line card disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lowest-backup-metric { | | container lowest-backup-metric { |
| description | | description |
| "Prefer backup path with lowest total metric"; | | "Prefer backup path with lowest total metric"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container node-protecting { | | container node-protecting { |
| description | | description |
| "Prefer node protecting backup path"; | | "Prefer node protecting backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container primary-path { | | container primary-path { |
| description | | description |
| "Prefer backup path from ECMP set"; | | "Prefer backup path from ECMP set"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container secondary-path { | | container secondary-path { |
| description | | description |
| "Prefer non-ECMP backup path"; | | "Prefer non-ECMP backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container interface-disjoint { | | container interface-disjoint { |
| description | | description |
| "Prefer Interface disjoint backup path"; | | "Prefer Interface disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container srlg-disjoint { | | container srlg-disjoint { |
| description | | description |
| "Prefer SRLG disjoint backup path"; | | "Prefer SRLG disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| } | | } |
| container load-sharing { | | container load-sharing { |
| description | | description |
| "Load share prefixes across multiple backups"; | | "Load share prefixes across multiple backups"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable load sharing"; | | "Disable load sharing"; |
| } | | } |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-prefix LFA exclusion information"; | | "Per-prefix LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| } | | } |
| container per-link { | | container per-link { |
| description | | description |
| "Per-link Computation"; | | "Per-link Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-link Computation"; | | "Enable per-link Computation"; |
| } | | } |
| container priority-limit { | | container priority-limit { |
| description | | description |
| "Limit backup computation upto the prefix priority"; | | "Limit backup computation upto the prefix priority"; |
| container critical { | | container critical { |
| must "not(../high) and not(../medium)"; | | must "not(../high) and not(../medium)"; |
| presence "Indicates a critical node is configured."; | | presence "Indicates a critical node is configured."; |
| description | | description |
| "Compute for critical priority prefixes only"; | | "Compute for critical priority prefixes only"; |
| } | | } |
| container high { | | container high { |
| must "not(../critical) and not(../medium)"; | | must "not(../critical) and not(../medium)"; |
| presence "Indicates a high node is configured."; | | presence "Indicates a high node is configured."; |
| description | | description |
| "Compute for critical & high priority prefixes "; | | "Compute for critical & high priority prefixes "; |
| } | | } |
| container medium { | | container medium { |
| must "not(../high) and not(../critical)"; | | must "not(../high) and not(../critical)"; |
| presence "Indicates a medium node is configured."; | | presence "Indicates a medium node is configured."; |
| description | | description |
| "Compute for critical, high & medium priority prefixes "; | | "Compute for critical, high & medium priority prefixes "; |
| } | | } |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-link LFA exclusion information"; | | "Per-link LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable IP Fast Reroute"; | | "Disable IP Fast Reroute"; |
| } | | } |
| } | | } |
| container loopback { | | container loopback { |
| description | | description |
| "OSPF loopback configuration"; | | "OSPF loopback configuration"; |
| container stub-network { | | container stub-network { |
| description | | description |
| "Advertise loopback as a stub network"; | | "Advertise loopback as a stub network"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertising loopback as a stub network"; | | "Enable advertising loopback as a stub network"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertising loopback as a stub network"; | | "Disable advertising loopback as a stub network"; |
| } | | } |
| } | | } |
| } | | } |
| container link-down { | | container link-down { |
| description | | description |
| "Configure interface down parameters"; | | "Configure interface down parameters"; |
| container fast-detect { | | container fast-detect { |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable fast or early detection of link-down events"; | | "Enable fast or early detection of link-down events"; |
| } | | } |
| } | | } |
| leaf weight { | | leaf weight { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "Weight value"; | | "Weight value"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface weight"; | | "Interface weight"; |
| } | | } |
| container delay { | | container delay { |
| description | | description |
| "Delay configuration setting"; | | "Delay configuration setting"; |
| container normalize { | | container normalize { |
| description | | description |
| "Delay normalization setting"; | | "Delay normalization setting"; |
| leaf interval { | | leaf interval { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../offset"; | | must "../offset"; |
| description | | description |
| "Normalization interval"; | | "Normalization interval"; |
| } | | } |
| leaf offset { | | leaf offset { |
| type uint32 { | | type uint32 { |
| range "0..16777215" { | | range "0..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../interval"; | | must "../interval"; |
| description | | description |
| "Normalization offset"; | | "Normalization offset"; |
| } | | } |
| } | | } |
| } | | } |
| container microloop { | | container microloop { |
| description | | description |
| "Microloop configuration"; | | "Microloop configuration"; |
| container avoidance { | | container avoidance { |
| presence "Indicates a avoidance node is configured."; | | presence "Indicates a avoidance node is configured."; |
| description | | description |
| "Avoid microloops"; | | "Avoid microloops"; |
| container protected { | | container protected { |
| presence "Indicates a protected node is configured."; | | presence "Indicates a protected node is configured."; |
| description | | description |
| "Avoid microloops for protected prefixes only"; | | "Avoid microloops for protected prefixes only"; |
| } | | } |
| container segment-routing { | | container segment-routing { |
| presence "Indicates a segment-routing node is configured."; | | presence "Indicates a segment-routing node is configured."; |
| description | | description |
| "Enable segment routing microloop avoidance"; | | "Enable segment routing microloop avoidance"; |
| } | | } |
| } | | } |
| leaf avoidance-rib-update-delay { | | leaf avoidance-rib-update-delay { |
| type uint32 { | | type uint32 { |
| range "1..600000" { | | range "1..600000" { |
| description | | description |
| "Delay in milliseconds"; | | "Delay in milliseconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Delay to introduce between SPF and RIB update"; | | "Delay to introduce between SPF and RIB update"; |
| } | | } |
| } | | } |
| container areas { | | container areas { |
| description | | description |
| "Enter the OSPF area configuration submode"; | | "Enter the OSPF area configuration submode"; |
| list area { | | list area { |
| key "area-id"; | | key "area-id"; |
| description | | description |
| "Enter the OSPF area configuration submode"; | | "Enter the OSPF area configuration submode"; |
| leaf area-id { | | leaf area-id { |
| type xr:Ospf-area-id; | | type xr:Ospf-area-id; |
| description | | description |
| "Enter the OSPF area configuration submode"; | | "Enter the OSPF area configuration submode"; |
| } | | } |
| container ranges { | | container ranges { |
| description | | description |
| "Summarize routes matching address/mask (border routers only)"; | | "Summarize routes matching address/mask (border routers only)"; |
| list range { | | list range { |
| key "address mask"; | | key "address mask"; |
| description | | description |
| "Summarize routes matching address/mask (border routers only)"; | | "Summarize routes matching address/mask (border routers only)"; |
| leaf address { | | leaf address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| must "(../advertise and not(../not-advertise)) or (../not-advertise and not(../advertise))"; | | must "(../advertise and not(../not-advertise)) or (../not-advertise and not(../advertise))"; |
| description | | description |
| "IP address"; | | "IP address"; |
| } | | } |
| leaf mask { | | leaf mask { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "IP address mask"; | | "IP address mask"; |
| } | | } |
| container advertise { | | container advertise { |
| presence "Indicates a advertise node is configured."; | | presence "Indicates a advertise node is configured."; |
| description | | description |
| "Advertise this range (default)"; | | "Advertise this range (default)"; |
| } | | } |
| container not-advertise { | | container not-advertise { |
| presence "Indicates a not-advertise node is configured."; | | presence "Indicates a not-advertise node is configured."; |
| description | | description |
| "DoNotAdvertise this range"; | | "DoNotAdvertise this range"; |
| } | | } |
| } | | } |
| } | | } |
| leaf default-cost { | | leaf default-cost { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Stub's advertised external route metric"; | | "Stub's advertised external route metric"; |
| } | | } |
| } | | } |
| description | | description |
| "Set the summary default-cost of a NSSA/stub area"; | | "Set the summary default-cost of a NSSA/stub area"; |
| } | | } |
| container stub { | | container stub { |
| presence "Indicates a stub node is configured."; | | presence "Indicates a stub node is configured."; |
| description | | description |
| "Specify the area as a stub area"; | | "Specify the area as a stub area"; |
| container no-summary { | | container no-summary { |
| presence "Indicates a no-summary node is configured."; | | presence "Indicates a no-summary node is configured."; |
| description | | description |
| "Do not send summary LSA into stub area"; | | "Do not send summary LSA into stub area"; |
| } | | } |
| } | | } |
| container nssa { | | container nssa { |
| presence "Indicates a nssa node is configured."; | | presence "Indicates a nssa node is configured."; |
| description | | description |
| "Specify area as a NSSA area"; | | "Specify area as a NSSA area"; |
| container no-redistribution { | | container no-redistribution { |
| presence "Indicates a no-redistribution node is configured."; | | presence "Indicates a no-redistribution node is configured."; |
| description | | description |
| "No redistribution into this NSSA area"; | | "No redistribution into this NSSA area"; |
| } | | } |
| container default-information-originate { | | container default-information-originate { |
| presence "Indicates a default-information-originate node is configured."; | | presence "Indicates a default-information-originate node is configured."; |
| description | | description |
| "Originate Type 7 default into NSSA area"; | | "Originate Type 7 default into NSSA area"; |
| leaf metric { | | leaf metric { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "OSPF metric"; | | "OSPF metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF default metric"; | | "OSPF default metric"; |
| } | | } |
| leaf metric-type { | | leaf metric-type { |
| type uint32 { | | type uint32 { |
| range "1..2" { | | range "1..2" { |
| description | | description |
| "Link State metric type"; | | "Link State metric type"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF metric type for default routes"; | | "OSPF metric type for default routes"; |
| } | | } |
| } | | } |
| container no-summary { | | container no-summary { |
| presence "Indicates a no-summary node is configured."; | | presence "Indicates a no-summary node is configured."; |
| description | | description |
| "Do not send summary LSA into NSSA"; | | "Do not send summary LSA into NSSA"; |
| } | | } |
| } | | } |
| container nssa-translate { | | container nssa-translate { |
| description | | description |
| "Translate NSSA LSA"; | | "Translate NSSA LSA"; |
| container type7 { | | container type7 { |
| description | | description |
| "Translate type 7 to type 5"; | | "Translate type 7 to type 5"; |
| container always { | | container always { |
| presence "Indicates a always node is configured."; | | presence "Indicates a always node is configured."; |
| description | | description |
| "Always translate NSSA LSAs on this ABR"; | | "Always translate NSSA LSAs on this ABR"; |
| } | | } |
| } | | } |
| } | | } |
| container route-policy { | | container route-policy { |
| description | | description |
| "Specify the route-policy to filter type 3 LSAs"; | | "Specify the route-policy to filter type 3 LSAs"; |
| leaf in { | | leaf in { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "route-policy to filter inbound"; | | "route-policy to filter inbound"; |
| } | | } |
| leaf out { | | leaf out { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "route-policy to filter outbound"; | | "route-policy to filter outbound"; |
| } | | } |
| } | | } |
| container external-out { | | container external-out { |
| description | | description |
| "Enable/Disable advertisement of intra-area prefixes as external"; | | "Enable/Disable advertisement of intra-area prefixes as external"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertisement of intra-area routes as external"; | | "Enable advertisement of intra-area routes as external"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertisement of intra-area routes as external"; | | "Disable advertisement of intra-area routes as external"; |
| } | | } |
| } | | } |
| container summary-in { | | container summary-in { |
| description | | description |
| "Enable/Disable advertisement of external prefixes as inter-area"; | | "Enable/Disable advertisement of external prefixes as inter-area"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertisement of external prefixes as inter-area"; | | "Enable advertisement of external prefixes as inter-area"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertisement of external prefixes as inter-area"; | | "Disable advertisement of external prefixes as inter-area"; |
| } | | } |
| } | | } |
| container interfaces { | | container interfaces { |
| description | | description |
| "Enable routing on an interface "; | | "Enable routing on an interface "; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Enable routing on an interface "; | | "Enable routing on an interface "; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Enable routing on an interface "; | | "Enable routing on an interface "; |
| } | | } |
| container neighbors { | | container neighbors { |
| description | | description |
| "Specify a neighbor router"; | | "Specify a neighbor router"; |
| list neighbor { | | list neighbor { |
| key "neighbor-address"; | | key "neighbor-address"; |
| description | | description |
| "Specify a neighbor router"; | | "Specify a neighbor router"; |
| leaf neighbor-address { | | leaf neighbor-address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "Specify a neighbor router"; | | "Specify a neighbor router"; |
| } | | } |
| container database-filter { | | container database-filter { |
| description | | description |
| "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; | | "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; |
| container all { | | container all { |
| description | | description |
| "Filter all LSA"; | | "Filter all LSA"; |
| container out { | | container out { |
| presence "Indicates a out node is configured."; | | presence "Indicates a out node is configured."; |
| description | | description |
| "Outgoing LSA"; | | "Outgoing LSA"; |
| } | | } |
| } | | } |
| } | | } |
| leaf priority { | | leaf priority { |
| type uint32 { | | type uint32 { |
| range "0..255" { | | range "0..255" { |
| description | | description |
| "Priority"; | | "Priority"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF priority of non-broadcast neighbor"; | | "OSPF priority of non-broadcast neighbor"; |
| } | | } |
| leaf poll-interval { | | leaf poll-interval { |
| type uint32 { | | type uint32 { |
| range "0..65535" { | | range "0..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF dead-router polling interval"; | | "OSPF dead-router polling interval"; |
| } | | } |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Metric"; | | "Metric"; |
| } | | } |
| } | | } |
| description | | description |
| "OSPF cost for point-to-multipoint neighbor"; | | "OSPF cost for point-to-multipoint neighbor"; |
| } | | } |
| } | | } |
| } | | } |
| container authentication-key { | | container authentication-key { |
| description | | description |
| "Authentication password (key)"; | | "Authentication password (key)"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| container message-digest-keys { | | container message-digest-keys { |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| list message-digest-key { | | list message-digest-key { |
| key "message-digest-key-id"; | | key "message-digest-key-id"; |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| leaf message-digest-key-id { | | leaf message-digest-key-id { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Key ID"; | | "Key ID"; |
| } | | } |
| } | | } |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| } | | } |
| container md5 { | | container md5 { |
| description | | description |
| "Use MD5 algorithm"; | | "Use MD5 algorithm"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| mandatory true; | | mandatory true; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication { | | container authentication { |
| presence "Indicates a authentication node is configured."; | | presence "Indicates a authentication node is configured."; |
| description | | description |
| "Enable authentication"; | | "Enable authentication"; |
| container message-digest { | | container message-digest { |
| must "not(../null or ../keychain)"; | | must "not(../null or ../keychain)"; |
| presence "Indicates a message-digest node is configured."; | | presence "Indicates a message-digest node is configured."; |
| description | | description |
| "Use message-digest authentication"; | | "Use message-digest authentication"; |
| } | | } |
| container keychain { | | container keychain { |
| must "../keychain-name"; | | must "../keychain-name"; |
| presence "Indicates a keychain node is configured."; | | presence "Indicates a keychain node is configured."; |
| description | | description |
| "Use keychain"; | | "Use keychain"; |
| } | | } |
| leaf keychain-name { | | leaf keychain-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "The keychain name"; | | "The keychain name"; |
| } | | } |
| } | | } |
| must "(../message-digest or ../keychain) and not(../null)"; | | must "(../message-digest or ../keychain) and not(../null)"; |
| description | | description |
| "Specify keychain name"; | | "Specify keychain name"; |
| } | | } |
| container null { | | container null { |
| must "not(../message-digest or ../keychain)"; | | must "not(../message-digest or ../keychain)"; |
| presence "Indicates a null node is configured."; | | presence "Indicates a null node is configured."; |
| description | | description |
| "Use no authentication"; | | "Use no authentication"; |
| } | | } |
| } | | } |
| container network { | | container network { |
| description | | description |
| "Network type"; | | "Network type"; |
| container broadcast { | | container broadcast { |
| presence "Indicates a broadcast node is configured."; | | presence "Indicates a broadcast node is configured."; |
| description | | description |
| "Specify OSPF broadcast multi-access network"; | | "Specify OSPF broadcast multi-access network"; |
| } | | } |
| container non-broadcast { | | container non-broadcast { |
| presence "Indicates a non-broadcast node is configured."; | | presence "Indicates a non-broadcast node is configured."; |
| description | | description |
| "Specify OSPF NBMA network"; | | "Specify OSPF NBMA network"; |
| } | | } |
| container point-to-point { | | container point-to-point { |
| presence "Indicates a point-to-point node is configured."; | | presence "Indicates a point-to-point node is configured."; |
| description | | description |
| "Specify OSPF point-to-point network"; | | "Specify OSPF point-to-point network"; |
| } | | } |
| container point-to-multipoint { | | container point-to-multipoint { |
| presence "Indicates a point-to-multipoint node is configured."; | | presence "Indicates a point-to-multipoint node is configured."; |
| description | | description |
| "Specify OSPF point-to-multipoint network"; | | "Specify OSPF point-to-multipoint network"; |
| } | | } |
| } | | } |
| container mpls { | | container mpls { |
| description | | description |
| "Configure MPLS routing protocol parameters"; | | "Configure MPLS routing protocol parameters"; |
| container ldp { | | container ldp { |
| description | | description |
| "Configure LDP parameters"; | | "Configure LDP parameters"; |
| container sync { | | container sync { |
| presence "Indicates a sync node is configured."; | | presence "Indicates a sync node is configured."; |
| description | | description |
| "Enable LDP IGP synchronization on interfaces"; | | "Enable LDP IGP synchronization on interfaces"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable MPLS LDP sync"; | | "Disable MPLS LDP sync"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Cost"; | | "Cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface cost"; | | "Interface cost"; |
| } | | } |
| container cost-fallback { | | container cost-fallback { |
| presence "Indicates a cost-fallback node is configured."; | | presence "Indicates a cost-fallback node is configured."; |
| description | | description |
| "Cost when cumulative bandwidth goes below the theshold"; | | "Cost when cumulative bandwidth goes below the theshold"; |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Cost"; | | "Cost"; |
| } | | } |
| } | | } |
| must "(../threshold)"; | | must "(../threshold)"; |
| description | | description |
| "Cost when cumulative bandwidth goes below the theshold"; | | "Cost when cumulative bandwidth goes below the theshold"; |
| } | | } |
| leaf threshold { | | leaf threshold { |
| type uint32 { | | type uint32 { |
| range "1..4294967" { | | range "1..4294967" { |
| description | | description |
| "Threshold bandwidth in Mbits per second"; | | "Threshold bandwidth in Mbits per second"; |
| } | | } |
| } | | } |
| must "(../cost)"; | | must "(../cost)"; |
| description | | description |
| "Threshold bandwidth when cost-fallback is applied"; | | "Threshold bandwidth when cost-fallback is applied"; |
| } | | } |
| container anomaly { | | container anomaly { |
| description | | description |
| "Penalty when a delay or loss is notified"; | | "Penalty when a delay or loss is notified"; |
| container delay { | | container delay { |
| description | | description |
| "Penalty when a delay is notified"; | | "Penalty when a delay is notified"; |
| container igp-metric { | | container igp-metric { |
| description | | description |
| "Penalty on IGP metric"; | | "Penalty on IGP metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..65534" { | | range "1..65534" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../multiplier or ../value | | "not(../multiplier or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Increment the IGP cost by the specified value"; | | "Increment the IGP cost by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../value | | "not(../increment or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Multiply the IGP cost by the specified value"; | | "Multiply the IGP cost by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Set the IGP cost to the specified value"; | | "Set the IGP cost to the specified value"; |
| } | | } |
| container disable { | | container disable { |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../value)"; | | or ../value)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable igp-metric"; | | "Disable igp-metric"; |
| } | | } |
| } | | } |
| container te-metric { | | container te-metric { |
| description | | description |
| "Penalty on TE metric"; | | "Penalty on TE metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../multiplier or ../value | | "not(../multiplier or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Increment the TE metric by the specified value"; | | "Increment the TE metric by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../value | | "not(../increment or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Multiply the TE metric by the specified value"; | | "Multiply the TE metric by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Set the TE cost to the specified value"; | | "Set the TE cost to the specified value"; |
| } | | } |
| container disable { | | container disable { |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../value)"; | | or ../value)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable te-metric"; | | "Disable te-metric"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf hello-interval { | | leaf hello-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between HELLO packets"; | | "Time between HELLO packets"; |
| } | | } |
| leaf dead-interval { | | leaf dead-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| must "not(../dead-interval-minimal-hello-multiplier)"; | | must "not(../dead-interval-minimal-hello-multiplier)"; |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| leaf dead-interval-minimal-hello-multiplier { | | leaf dead-interval-minimal-hello-multiplier { |
| type uint32 { | | type uint32 { |
| range "3..20" { | | range "3..20" { |
| description | | description |
| "Multiplier"; | | "Multiplier"; |
| } | | } |
| } | | } |
| must "not(../dead-interval)"; | | must "not(../dead-interval)"; |
| description | | description |
| "Set multiplier for Hellos"; | | "Set multiplier for Hellos"; |
| } | | } |
| leaf priority { | | leaf priority { |
| type uint32 { | | type uint32 { |
| range "0..255" { | | range "0..255" { |
| description | | description |
| "Priority"; | | "Priority"; |
| } | | } |
| } | | } |
| description | | description |
| "Router priority"; | | "Router priority"; |
| } | | } |
| leaf retransmit-interval { | | leaf retransmit-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between retransmitting lost link state advertisements"; | | "Time between retransmitting lost link state advertisements"; |
| } | | } |
| leaf transmit-delay { | | leaf transmit-delay { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Estimated time needed to send link-state update packet"; | | "Estimated time needed to send link-state update packet"; |
| } | | } |
| container flood-reduction { | | container flood-reduction { |
| description | | description |
| "OSPF Flood Reduction"; | | "OSPF Flood Reduction"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable flooding reduction"; | | "Enable flooding reduction"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable flooding reduction"; | | "Disable flooding reduction"; |
| } | | } |
| } | | } |
| container demand-circuit { | | container demand-circuit { |
| description | | description |
| "Enable/Disable demand circuits"; | | "Enable/Disable demand circuits"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable demand circuits"; | | "Enable demand circuits"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable demand circuits"; | | "Disable demand circuits"; |
| } | | } |
| } | | } |
| container mtu-ignore { | | container mtu-ignore { |
| description | | description |
| "Enable/Disable ignoring of MTU in DBD packets"; | | "Enable/Disable ignoring of MTU in DBD packets"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Ignores the MTU in DBD packets"; | | "Ignores the MTU in DBD packets"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable ignoring of MTU in DBD packets"; | | "Disable ignoring of MTU in DBD packets"; |
| } | | } |
| } | | } |
| container database-filter { | | container database-filter { |
| description | | description |
| "Filter OSPF LSA during synchronization and flooding"; | | "Filter OSPF LSA during synchronization and flooding"; |
| container all { | | container all { |
| description | | description |
| "Filter all LSA"; | | "Filter all LSA"; |
| container out { | | container out { |
| description | | description |
| "Outgoing LSA"; | | "Outgoing LSA"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable filtering"; | | "Enable filtering"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable filtering"; | | "Disable filtering"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container passive { | | container passive { |
| description | | description |
| "Enable/Disable passive"; | | "Enable/Disable passive"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable passive"; | | "Enable passive"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable passive"; | | "Disable passive"; |
| } | | } |
| } | | } |
| container distribute-list { | | container distribute-list { |
| description | | description |
| "Filter networks in routing updates"; | | "Filter networks in routing updates"; |
| leaf access-list { | | leaf access-list { |
| type string; | | type string; |
| must "not(../route-policy)"; | | must "not(../route-policy)"; |
| description | | description |
| "In-bound access-list name."; | | "In-bound access-list name."; |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| must "not(../access-list)"; | | must "not(../access-list)"; |
| description | | description |
| "Route Policy to filter OSPF prefixes"; | | "Route Policy to filter OSPF prefixes"; |
| } | | } |
| } | | } |
| leaf packet-size { | | leaf packet-size { |
| type uint32 { | | type uint32 { |
| range "576..10000" { | | range "576..10000" { |
| description | | description |
| "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; | | "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; |
| } | | } |
| } | | } |
| description | | description |
| "Customize size of OSPF packets upto MTU"; | | "Customize size of OSPF packets upto MTU"; |
| } | | } |
| container bfd { | | container bfd { |
| description | | description |
| "Configure BFD parameters"; | | "Configure BFD parameters"; |
| container fast-detect { | | container fast-detect { |
| must "not(strict-mode and disable)"; | | must "not(strict-mode and disable)"; |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable Fast detection"; | | "Enable Fast detection"; |
| container strict-mode { | | container strict-mode { |
| presence "Indicates a strict-mode node is configured."; | | presence "Indicates a strict-mode node is configured."; |
| description | | description |
| "Hold down neighbor session until BFD session is up"; | | "Hold down neighbor session until BFD session is up"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Prevent bfd settings from being inherited from the parent"; | | "Prevent bfd settings from being inherited from the parent"; |
| } | | } |
| } | | } |
| leaf minimum-interval { | | leaf minimum-interval { |
| type uint32 { | | type uint32 { |
| range "3..30000" { | | range "3..30000" { |
| description | | description |
| "minimum interval in milli-seconds"; | | "minimum interval in milli-seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Minimum interval"; | | "Minimum interval"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "2..50" { | | range "2..50" { |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| container security { | | container security { |
| description | | description |
| "Enable security"; | | "Enable security"; |
| container ttl { | | container ttl { |
| must "not(hops and disable)"; | | must "not(hops and disable)"; |
| presence "Indicates a ttl node is configured."; | | presence "Indicates a ttl node is configured."; |
| description | | description |
| "Enable ttl security"; | | "Enable ttl security"; |
| leaf hops { | | leaf hops { |
| type uint32 { | | type uint32 { |
| range "1..254" { | | range "1..254" { |
| description | | description |
| "maximum number of hops allowed"; | | "maximum number of hops allowed"; |
| } | | } |
| } | | } |
| description | | description |
| "IP hops"; | | "IP hops"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable TTL security"; | | "Disable TTL security"; |
| } | | } |
| } | | } |
| } | | } |
| container prefix-suppression { | | container prefix-suppression { |
| description | | description |
| "Suppress advertisement of the prefixes"; | | "Suppress advertisement of the prefixes"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable primary address suppression"; | | "Enable primary address suppression"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable primary address suppression"; | | "Disable primary address suppression"; |
| } | | } |
| container secondary-address { | | container secondary-address { |
| description | | description |
| "Enable/Disable secondary address suppression"; | | "Enable/Disable secondary address suppression"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable secondary address suppression"; | | "Enable secondary address suppression"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable secondary address suppression"; | | "Disable secondary address suppression"; |
| } | | } |
| } | | } |
| } | | } |
| container fast-reroute { | | container fast-reroute { |
| description | | description |
| "IP Fast Reroute"; | | "IP Fast Reroute"; |
| container per-link { | | container per-link { |
| description | | description |
| "Per-link Computation"; | | "Per-link Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-link Computation"; | | "Enable per-link Computation"; |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-link LFA exclusion information"; | | "Per-link LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| } | | } |
| container per-prefix { | | container per-prefix { |
| description | | description |
| "Per-prefix Computation"; | | "Per-prefix Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-prefix Computation"; | | "Enable per-prefix Computation"; |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-prefix LFA exclusion information"; | | "Per-prefix LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| container tiebreaker { | | container tiebreaker { |
| description | | description |
| "Configure tiebreaker for multiple backups"; | | "Configure tiebreaker for multiple backups"; |
| container downstream { | | container downstream { |
| description | | description |
| "Prefer backup path via downstream node"; | | "Prefer backup path via downstream node"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lc-disjoint { | | container lc-disjoint { |
| description | | description |
| "Prefer line card disjoint backup path"; | | "Prefer line card disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lowest-backup-metric { | | container lowest-backup-metric { |
| description | | description |
| "Prefer backup path with lowest total metric"; | | "Prefer backup path with lowest total metric"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container node-protecting { | | container node-protecting { |
| description | | description |
| "Prefer node protecting backup path"; | | "Prefer node protecting backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container primary-path { | | container primary-path { |
| description | | description |
| "Prefer backup path from ECMP set"; | | "Prefer backup path from ECMP set"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container secondary-path { | | container secondary-path { |
| description | | description |
| "Prefer non-ECMP backup path"; | | "Prefer non-ECMP backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container interface-disjoint { | | container interface-disjoint { |
| description | | description |
| "Prefer Interface disjoint backup path"; | | "Prefer Interface disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container srlg-disjoint { | | container srlg-disjoint { |
| description | | description |
| "Prefer SRLG disjoint backup path"; | | "Prefer SRLG disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable IP Fast Reroute"; | | "Disable IP Fast Reroute"; |
| } | | } |
| } | | } |
| container loopback { | | container loopback { |
| description | | description |
| "OSPF loopback configuration"; | | "OSPF loopback configuration"; |
| container stub-network { | | container stub-network { |
| description | | description |
| "Advertise loopback as a stub network"; | | "Advertise loopback as a stub network"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertising loopback as a stub network"; | | "Enable advertising loopback as a stub network"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertising loopback as a stub network"; | | "Disable advertising loopback as a stub network"; |
| } | | } |
| } | | } |
| } | | } |
| container link-down { | | container link-down { |
| description | | description |
| "Configure interface down parameters"; | | "Configure interface down parameters"; |
| container fast-detect { | | container fast-detect { |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable fast or early detection of link-down events"; | | "Enable fast or early detection of link-down events"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable fast or early detection of link-down events"; | | "Disable fast or early detection of link-down events"; |
| } | | } |
| } | | } |
| } | | } |
| container prefix-sid { | | container prefix-sid { |
| when "../interface-name[starts-with(text(),'Loopback')]" { | | when "../interface-name[starts-with(text(),'Loopback')]" { |
| tailf:dependency "../interface-name"; | | tailf:dependency "../interface-name"; |
| } | | } |
| description | | description |
| "Prefix SID Configuration"; | | "Prefix SID Configuration"; |
| container index { | | container index { |
| presence "Indicates a index node is configured."; | | presence "Indicates a index node is configured."; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| leaf sid-index { | | leaf sid-index { |
| type uint32 { | | type uint32 { |
| range "0..1048575" { | | range "0..1048575" { |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| container absolute { | | container absolute { |
| presence "Indicates a absolute node is configured."; | | presence "Indicates a absolute node is configured."; |
| description | | description |
| "SID value"; | | "SID value"; |
| leaf sid-label { | | leaf sid-label { |
| type uint32 { | | type uint32 { |
| range "16000..1048575" { | | range "16000..1048575" { |
| description | | description |
| "SID label"; | | "SID label"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID value"; | | "SID value"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| container strict-spf { | | container strict-spf { |
| description | | description |
| "Strict-SPF Prefix SID Configuration"; | | "Strict-SPF Prefix SID Configuration"; |
| container index { | | container index { |
| must "not(../absolute)"; | | must "not(../absolute)"; |
| presence "Indicates a index node is configured."; | | presence "Indicates a index node is configured."; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| leaf sid-index { | | leaf sid-index { |
| type uint32 { | | type uint32 { |
| range "0..1048575" { | | range "0..1048575" { |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| container absolute { | | container absolute { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a absolute node is configured."; | | presence "Indicates a absolute node is configured."; |
| description | | description |
| "SID value"; | | "SID value"; |
| leaf sid-label { | | leaf sid-label { |
| type uint32 { | | type uint32 { |
| range "16000..1048575" { | | range "16000..1048575" { |
| description | | description |
| "SID label"; | | "SID label"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID value"; | | "SID value"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| } | | } |
| container algorithms { | | container algorithms { |
| description | | description |
| "Algorithm Specific Prefix SID Configuration"; | | "Algorithm Specific Prefix SID Configuration"; |
| list algorithm { | | list algorithm { |
| must "index or absolute"; | | must "index or absolute"; |
| key "algorithm-number"; | | key "algorithm-number"; |
| description | | description |
| "Algorithm Specific Prefix SID Configuration"; | | "Algorithm Specific Prefix SID Configuration"; |
| leaf algorithm-number { | | leaf algorithm-number { |
| type uint32 { | | type uint32 { |
| range "128..255" { | | range "128..255" { |
| description | | description |
| "Algorithm number"; | | "Algorithm number"; |
| } | | } |
| } | | } |
| description | | description |
| "Algorithm Specific Prefix SID Configuration"; | | "Algorithm Specific Prefix SID Configuration"; |
| } | | } |
| container index { | | container index { |
| presence "Indicates a index node is configured."; | | presence "Indicates a index node is configured."; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| leaf sid-index { | | leaf sid-index { |
| type uint32 { | | type uint32 { |
| range "0..1048575" { | | range "0..1048575" { |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| container absolute { | | container absolute { |
| presence "Indicates a absolute node is configured."; | | presence "Indicates a absolute node is configured."; |
| description | | description |
| "SID value"; | | "SID value"; |
| leaf sid-label { | | leaf sid-label { |
| type uint32 { | | type uint32 { |
| range "16000..1048575" { | | range "16000..1048575" { |
| description | | description |
| "SID label"; | | "SID label"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "SID value"; | | "SID value"; |
| } | | } |
| container explicit-null { | | container explicit-null { |
| presence "Indicates a explicit-null node is configured."; | | presence "Indicates a explicit-null node is configured."; |
| description | | description |
| "Force penultimate hop to send explicit-null label"; | | "Force penultimate hop to send explicit-null label"; |
| } | | } |
| container n-flag-clear { | | container n-flag-clear { |
| presence "Indicates a n-flag-clear node is configured."; | | presence "Indicates a n-flag-clear node is configured."; |
| description | | description |
| "Not a node SID (e.g. for anycast SID use)"; | | "Not a node SID (e.g. for anycast SID use)"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container adjacency-sid { | | container adjacency-sid { |
| description | | description |
| "Adjacency SID Configuration"; | | "Adjacency SID Configuration"; |
| container indexes { | | container indexes { |
| description | | description |
| "SID Index"; | | "SID Index"; |
| list index { | | list index { |
| key "sid-index"; | | key "sid-index"; |
| description | | description |
| "SID Index"; | | "SID Index"; |
| leaf sid-index { | | leaf sid-index { |
| type uint32 { | | type uint32 { |
| range "0..1048575" { | | range "0..1048575" { |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| } | | } |
| description | | description |
| "SID Index"; | | "SID Index"; |
| } | | } |
| container protected { | | container protected { |
| presence "Indicates a protected node is configured."; | | presence "Indicates a protected node is configured."; |
| description | | description |
| "Protect the static adjacency SID"; | | "Protect the static adjacency SID"; |
| } | | } |
| leaf neighbor-address { | | leaf neighbor-address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "Provide Neighbor IP address associated with this SID"; | | "Provide Neighbor IP address associated with this SID"; |
| } | | } |
| } | | } |
| } | | } |
| container absolutes { | | container absolutes { |
| description | | description |
| "SID value"; | | "SID value"; |
| list absolute { | | list absolute { |
| key "sid-label"; | | key "sid-label"; |
| description | | description |
| "SID value"; | | "SID value"; |
| leaf sid-label { | | leaf sid-label { |
| type uint32 { | | type uint32 { |
| range "15000..1048575" { | | range "15000..1048575" { |
| description | | description |
| "SID label"; | | "SID label"; |
| } | | } |
| } | | } |
| description | | description |
| "SID value"; | | "SID value"; |
| } | | } |
| container protected { | | container protected { |
| presence "Indicates a protected node is configured."; | | presence "Indicates a protected node is configured."; |
| description | | description |
| "Protect the static adjacency SID"; | | "Protect the static adjacency SID"; |
| } | | } |
| leaf neighbor-address { | | leaf neighbor-address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "Provide Neighbor IP address associated with this SID"; | | "Provide Neighbor IP address associated with this SID"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf weight { | | leaf weight { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "Weight value"; | | "Weight value"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface weight"; | | "Interface weight"; |
| } | | } |
| container advertise { | | container advertise { |
| when "../interface-name[starts-with(text(),'Loopback')]" { | | when "../interface-name[starts-with(text(),'Loopback')]" { |
| tailf:dependency "../interface-name"; | | tailf:dependency "../interface-name"; |
| } | | } |
| description | | description |
| "Conditionally advertise"; | | "Conditionally advertise"; |
| container prefix { | | container prefix { |
| description | | description |
| "Conditionally advertise this prefix"; | | "Conditionally advertise this prefix"; |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| description | | description |
| "Specify the route-policy for conditional advertising"; | | "Specify the route-policy for conditional advertising"; |
| } | | } |
| } | | } |
| } | | } |
| container delay { | | container delay { |
| description | | description |
| "Delay configuration setting"; | | "Delay configuration setting"; |
| container normalize { | | container normalize { |
| description | | description |
| "Delay normalization setting"; | | "Delay normalization setting"; |
| leaf interval { | | leaf interval { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../offset"; | | must "../offset"; |
| description | | description |
| "Normalization interval"; | | "Normalization interval"; |
| } | | } |
| leaf offset { | | leaf offset { |
| type uint32 { | | type uint32 { |
| range "0..16777215" { | | range "0..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../interval"; | | must "../interval"; |
| description | | description |
| "Normalization offset"; | | "Normalization offset"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication-key { | | container authentication-key { |
| description | | description |
| "Authentication password (key)"; | | "Authentication password (key)"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| container message-digest-keys { | | container message-digest-keys { |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| list message-digest-key { | | list message-digest-key { |
| key "message-digest-key-id"; | | key "message-digest-key-id"; |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| leaf message-digest-key-id { | | leaf message-digest-key-id { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Key ID"; | | "Key ID"; |
| } | | } |
| } | | } |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| } | | } |
| container md5 { | | container md5 { |
| description | | description |
| "Use MD5 algorithm"; | | "Use MD5 algorithm"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| mandatory true; | | mandatory true; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication { | | container authentication { |
| presence "Indicates a authentication node is configured."; | | presence "Indicates a authentication node is configured."; |
| description | | description |
| "Enable authentication"; | | "Enable authentication"; |
| container message-digest { | | container message-digest { |
| must "not(../null or ../keychain)"; | | must "not(../null or ../keychain)"; |
| presence "Indicates a message-digest node is configured."; | | presence "Indicates a message-digest node is configured."; |
| description | | description |
| "Use message-digest authentication"; | | "Use message-digest authentication"; |
| } | | } |
| container keychain { | | container keychain { |
| must "../keychain-name"; | | must "../keychain-name"; |
| presence "Indicates a keychain node is configured."; | | presence "Indicates a keychain node is configured."; |
| description | | description |
| "Use keychain"; | | "Use keychain"; |
| } | | } |
| leaf keychain-name { | | leaf keychain-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "The keychain name"; | | "The keychain name"; |
| } | | } |
| } | | } |
| must "(../message-digest or ../keychain) and not(../null)"; | | must "(../message-digest or ../keychain) and not(../null)"; |
| description | | description |
| "Specify keychain name"; | | "Specify keychain name"; |
| } | | } |
| container null { | | container null { |
| must "not(../message-digest or ../keychain)"; | | must "not(../message-digest or ../keychain)"; |
| presence "Indicates a null node is configured."; | | presence "Indicates a null node is configured."; |
| description | | description |
| "Use no authentication"; | | "Use no authentication"; |
| } | | } |
| } | | } |
| container network { | | container network { |
| description | | description |
| "Network type"; | | "Network type"; |
| container broadcast { | | container broadcast { |
| presence "Indicates a broadcast node is configured."; | | presence "Indicates a broadcast node is configured."; |
| description | | description |
| "Specify OSPF broadcast multi-access network"; | | "Specify OSPF broadcast multi-access network"; |
| } | | } |
| container non-broadcast { | | container non-broadcast { |
| presence "Indicates a non-broadcast node is configured."; | | presence "Indicates a non-broadcast node is configured."; |
| description | | description |
| "Specify OSPF NBMA network"; | | "Specify OSPF NBMA network"; |
| } | | } |
| container point-to-point { | | container point-to-point { |
| presence "Indicates a point-to-point node is configured."; | | presence "Indicates a point-to-point node is configured."; |
| description | | description |
| "Specify OSPF point-to-point network"; | | "Specify OSPF point-to-point network"; |
| } | | } |
| container point-to-multipoint { | | container point-to-multipoint { |
| presence "Indicates a point-to-multipoint node is configured."; | | presence "Indicates a point-to-multipoint node is configured."; |
| description | | description |
| "Specify OSPF point-to-multipoint network"; | | "Specify OSPF point-to-multipoint network"; |
| } | | } |
| } | | } |
| container mpls { | | container mpls { |
| description | | description |
| "Configure MPLS routing protocol parameters"; | | "Configure MPLS routing protocol parameters"; |
| container ldp { | | container ldp { |
| description | | description |
| "Configure LDP parameters"; | | "Configure LDP parameters"; |
| container sync { | | container sync { |
| presence "Indicates a sync node is configured."; | | presence "Indicates a sync node is configured."; |
| description | | description |
| "Enable LDP IGP synchronization"; | | "Enable LDP IGP synchronization"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable MPLS LDP sync"; | | "Disable MPLS LDP sync"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Cost"; | | "Cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface cost"; | | "Interface cost"; |
| } | | } |
| container cost-fallback { | | container cost-fallback { |
| description | | description |
| "Cost fallback when anomaly is detected"; | | "Cost fallback when anomaly is detected"; |
| container anomaly { | | container anomaly { |
| description | | description |
| "Penalty when a delay or loss is notified"; | | "Penalty when a delay or loss is notified"; |
| container delay { | | container delay { |
| description | | description |
| "Penalty when a delay is notified"; | | "Penalty when a delay is notified"; |
| container igp-metric { | | container igp-metric { |
| description | | description |
| "Penalty on IGP metric"; | | "Penalty on IGP metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..65534" { | | range "1..65534" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../multiplier or ../value | | "not(../multiplier or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Increment the IGP cost by the specified value"; | | "Increment the IGP cost by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../value | | "not(../increment or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Multiply the IGP cost by the specified value"; | | "Multiply the IGP cost by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Set the IGP cost to the specified value"; | | "Set the IGP cost to the specified value"; |
| } | | } |
| container disable { | | container disable { |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../value)"; | | or ../value)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable igp-metric"; | | "Disable igp-metric"; |
| } | | } |
| } | | } |
| container te-metric { | | container te-metric { |
| description | | description |
| "Penalty on TE metric"; | | "Penalty on TE metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../multiplier or ../value | | "not(../multiplier or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Increment the TE metric by the specified value"; | | "Increment the TE metric by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../value | | "not(../increment or ../value |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Multiply the TE metric by the specified value"; | | "Multiply the TE metric by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../disable)"; | | or ../disable)"; |
| description | | description |
| "Set the TE cost to the specified value"; | | "Set the TE cost to the specified value"; |
| } | | } |
| container disable { | | container disable { |
| must | | must |
| "not(../increment or ../multiplier | | "not(../increment or ../multiplier |
| or ../value)"; | | or ../value)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable te-metric"; | | "Disable te-metric"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf hello-interval { | | leaf hello-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between HELLO packets"; | | "Time between HELLO packets"; |
| } | | } |
| leaf dead-interval { | | leaf dead-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| must "not(../dead-interval-minimal-hello-multiplier)"; | | must "not(../dead-interval-minimal-hello-multiplier)"; |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| leaf dead-interval-minimal-hello-multiplier { | | leaf dead-interval-minimal-hello-multiplier { |
| type uint32 { | | type uint32 { |
| range "3..20" { | | range "3..20" { |
| description | | description |
| "Multiplier"; | | "Multiplier"; |
| } | | } |
| } | | } |
| must "not(../dead-interval)"; | | must "not(../dead-interval)"; |
| description | | description |
| "Set multiplier for Hellos"; | | "Set multiplier for Hellos"; |
| } | | } |
| leaf priority { | | leaf priority { |
| type uint32 { | | type uint32 { |
| range "0..255" { | | range "0..255" { |
| description | | description |
| "Priority"; | | "Priority"; |
| } | | } |
| } | | } |
| description | | description |
| "Router priority"; | | "Router priority"; |
| } | | } |
| leaf retransmit-interval { | | leaf retransmit-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between retransmitting lost link state advertisements"; | | "Time between retransmitting lost link state advertisements"; |
| } | | } |
| leaf transmit-delay { | | leaf transmit-delay { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Estimated time needed to send link-state update packet"; | | "Estimated time needed to send link-state update packet"; |
| } | | } |
| container flood-reduction { | | container flood-reduction { |
| description | | description |
| "OSPF Flood Reduction"; | | "OSPF Flood Reduction"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable flooding reduction"; | | "Enable flooding reduction"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable flooding reduction"; | | "Disable flooding reduction"; |
| } | | } |
| } | | } |
| container demand-circuit { | | container demand-circuit { |
| description | | description |
| "Enable/Disable demand circuits"; | | "Enable/Disable demand circuits"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable demand circuits"; | | "Enable demand circuits"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable demand circuits"; | | "Disable demand circuits"; |
| } | | } |
| } | | } |
| container mtu-ignore { | | container mtu-ignore { |
| description | | description |
| "Enable/Disable ignoring of MTU in DBD packets"; | | "Enable/Disable ignoring of MTU in DBD packets"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Ignores the MTU in DBD packets"; | | "Ignores the MTU in DBD packets"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable ignoring of MTU in DBD packets"; | | "Disable ignoring of MTU in DBD packets"; |
| } | | } |
| } | | } |
| container database-filter { | | container database-filter { |
| description | | description |
| "Filter OSPF LSA during synchronization and flooding"; | | "Filter OSPF LSA during synchronization and flooding"; |
| container all { | | container all { |
| description | | description |
| "Filter all LSA"; | | "Filter all LSA"; |
| container out { | | container out { |
| description | | description |
| "Outgoing LSA"; | | "Outgoing LSA"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable filtering"; | | "Enable filtering"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable filtering"; | | "Disable filtering"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container passive { | | container passive { |
| description | | description |
| "Enable/Disable passive"; | | "Enable/Disable passive"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable passive"; | | "Enable passive"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable passive"; | | "Disable passive"; |
| } | | } |
| } | | } |
| container distribute-list { | | container distribute-list { |
| description | | description |
| "Filter networks in routing updates"; | | "Filter networks in routing updates"; |
| leaf access-list { | | leaf access-list { |
| type string; | | type string; |
| must "not(../route-policy)"; | | must "not(../route-policy)"; |
| description | | description |
| "In-bound access-list name."; | | "In-bound access-list name."; |
| } | | } |
| leaf route-policy { | | leaf route-policy { |
| type xr:Route-policy-name; | | type xr:Route-policy-name; |
| must "not(../access-list)"; | | must "not(../access-list)"; |
| description | | description |
| "Route Policy to filter OSPF prefixes"; | | "Route Policy to filter OSPF prefixes"; |
| } | | } |
| } | | } |
| leaf packet-size { | | leaf packet-size { |
| type uint32 { | | type uint32 { |
| range "576..10000" { | | range "576..10000" { |
| description | | description |
| "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; | | "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; |
| } | | } |
| } | | } |
| description | | description |
| "Customize size of OSPF packets upto MTU"; | | "Customize size of OSPF packets upto MTU"; |
| } | | } |
| container bfd { | | container bfd { |
| description | | description |
| "Configure BFD parameters"; | | "Configure BFD parameters"; |
| container fast-detect { | | container fast-detect { |
| must "not(strict-mode and disable)"; | | must "not(strict-mode and disable)"; |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable Fast detection"; | | "Enable Fast detection"; |
| container strict-mode { | | container strict-mode { |
| presence "Indicates a strict-mode node is configured."; | | presence "Indicates a strict-mode node is configured."; |
| description | | description |
| "Hold down neighbor session until BFD session is up"; | | "Hold down neighbor session until BFD session is up"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Prevent bfd settings from being inherited from the parent"; | | "Prevent bfd settings from being inherited from the parent"; |
| } | | } |
| } | | } |
| leaf minimum-interval { | | leaf minimum-interval { |
| type uint32 { | | type uint32 { |
| range "3..30000" { | | range "3..30000" { |
| description | | description |
| "minimum interval in milli-seconds"; | | "minimum interval in milli-seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Minimum interval"; | | "Minimum interval"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "2..50" { | | range "2..50" { |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| description | | description |
| "Detect multiplier"; | | "Detect multiplier"; |
| } | | } |
| } | | } |
| container security { | | container security { |
| description | | description |
| "Enable/Disable security"; | | "Enable/Disable security"; |
| container ttl { | | container ttl { |
| must "not(hops and disable)"; | | must "not(hops and disable)"; |
| presence "Indicates a ttl node is configured."; | | presence "Indicates a ttl node is configured."; |
| description | | description |
| "TTL security"; | | "TTL security"; |
| leaf hops { | | leaf hops { |
| type uint32 { | | type uint32 { |
| range "1..254" { | | range "1..254" { |
| description | | description |
| "maximum number of hops allowed"; | | "maximum number of hops allowed"; |
| } | | } |
| } | | } |
| description | | description |
| "IP hops"; | | "IP hops"; |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable TTL security"; | | "Disable TTL security"; |
| } | | } |
| } | | } |
| } | | } |
| container prefix-suppression { | | container prefix-suppression { |
| description | | description |
| "Suppress advertisement of the prefixes"; | | "Suppress advertisement of the prefixes"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable primary address suppression"; | | "Enable primary address suppression"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable primary address suppression"; | | "Disable primary address suppression"; |
| } | | } |
| container secondary-address { | | container secondary-address { |
| description | | description |
| "Enable/Disable secondary address suppression"; | | "Enable/Disable secondary address suppression"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable secondary address suppression"; | | "Enable secondary address suppression"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable secondary address suppression"; | | "Disable secondary address suppression"; |
| } | | } |
| } | | } |
| } | | } |
| container fast-reroute { | | container fast-reroute { |
| description | | description |
| "IP Fast Reroute"; | | "IP Fast Reroute"; |
| container per-link { | | container per-link { |
| description | | description |
| "Per-link Computation"; | | "Per-link Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Per-link Computation"; | | "Per-link Computation"; |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-link LFA exclusion information"; | | "Per-link LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-link LFA"; | | "Exclude an interface from Per-link LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| } | | } |
| container per-prefix { | | container per-prefix { |
| description | | description |
| "Per-prefix Computation"; | | "Per-prefix Computation"; |
| container enable { | | container enable { |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable per-prefix Computation"; | | "Enable per-prefix Computation"; |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "Per-prefix LFA exclusion information"; | | "Per-prefix LFA exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface from Per-prefix LFA"; | | "Exclude an interface from Per-prefix LFA"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container lfa-candidate { | | container lfa-candidate { |
| description | | description |
| "FRR LFA candidate information"; | | "FRR LFA candidate information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Include an interface to LFA candidate in computation"; | | "Include an interface to LFA candidate in computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container use-candidate-only { | | container use-candidate-only { |
| description | | description |
| "Enable/Disable backup selection from candidate-list only"; | | "Enable/Disable backup selection from candidate-list only"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable backup selection from candidate-list only"; | | "Enable backup selection from candidate-list only"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable backup selection from candidate-list only"; | | "Disable backup selection from candidate-list only"; |
| } | | } |
| } | | } |
| container tiebreaker { | | container tiebreaker { |
| description | | description |
| "Configure tiebreaker for multiple backups"; | | "Configure tiebreaker for multiple backups"; |
| container downstream { | | container downstream { |
| description | | description |
| "Prefer backup path via downstream node"; | | "Prefer backup path via downstream node"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lc-disjoint { | | container lc-disjoint { |
| description | | description |
| "Prefer line card disjoint backup path"; | | "Prefer line card disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container lowest-backup-metric { | | container lowest-backup-metric { |
| description | | description |
| "Prefer backup path with lowest total metric"; | | "Prefer backup path with lowest total metric"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container node-protecting { | | container node-protecting { |
| description | | description |
| "Prefer node protecting backup path"; | | "Prefer node protecting backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container primary-path { | | container primary-path { |
| description | | description |
| "Prefer backup path from ECMP set"; | | "Prefer backup path from ECMP set"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container secondary-path { | | container secondary-path { |
| description | | description |
| "Prefer non-ECMP backup path"; | | "Prefer non-ECMP backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container interface-disjoint { | | container interface-disjoint { |
| description | | description |
| "Prefer Interface disjoint backup path"; | | "Prefer Interface disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| container srlg-disjoint { | | container srlg-disjoint { |
| description | | description |
| "Prefer SRLG disjoint backup path"; | | "Prefer SRLG disjoint backup path"; |
| leaf index { | | leaf index { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Index"; | | "Index"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Set preference order among tiebreakers"; | | "Set preference order among tiebreakers"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../index)"; | | must "not(../index)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable tiebreaker"; | | "Disable tiebreaker"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable IP Fast Reroute"; | | "Disable IP Fast Reroute"; |
| } | | } |
| } | | } |
| container loopback { | | container loopback { |
| description | | description |
| "OSPF loopback configuration"; | | "OSPF loopback configuration"; |
| container stub-network { | | container stub-network { |
| description | | description |
| "Advertise loopback as a stub network"; | | "Advertise loopback as a stub network"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertising loopback as a stub network"; | | "Enable advertising loopback as a stub network"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertising loopback as a stub network"; | | "Disable advertising loopback as a stub network"; |
| } | | } |
| } | | } |
| } | | } |
| container link-down { | | container link-down { |
| description | | description |
| "Configure interface down parameters"; | | "Configure interface down parameters"; |
| container fast-detect { | | container fast-detect { |
| presence "Indicates a fast-detect node is configured."; | | presence "Indicates a fast-detect node is configured."; |
| description | | description |
| "Enable fast or early detection of link-down events"; | | "Enable fast or early detection of link-down events"; |
| container disable { | | container disable { |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable fast or early detection of link-down events"; | | "Disable fast or early detection of link-down events"; |
| } | | } |
| } | | } |
| } | | } |
| leaf weight { | | leaf weight { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "Weight value"; | | "Weight value"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface weight"; | | "Interface weight"; |
| } | | } |
| container delay { | | container delay { |
| description | | description |
| "Delay configuration setting"; | | "Delay configuration setting"; |
| container normalize { | | container normalize { |
| description | | description |
| "Delay normalization setting"; | | "Delay normalization setting"; |
| leaf interval { | | leaf interval { |
| type uint32 { | | type uint32 { |
| range "1..16777215" { | | range "1..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../offset"; | | must "../offset"; |
| description | | description |
| "Normalization interval"; | | "Normalization interval"; |
| } | | } |
| leaf offset { | | leaf offset { |
| type uint32 { | | type uint32 { |
| range "0..16777215" { | | range "0..16777215" { |
| description | | description |
| "Value in microseconds"; | | "Value in microseconds"; |
| } | | } |
| } | | } |
| must "../interval"; | | must "../interval"; |
| description | | description |
| "Normalization offset"; | | "Normalization offset"; |
| } | | } |
| } | | } |
| } | | } |
| container virtual-links { | | container virtual-links { |
| description | | description |
| "Define a virtual link"; | | "Define a virtual link"; |
| list virtual-link { | | list virtual-link { |
| key "virtual-link-id"; | | key "virtual-link-id"; |
| description | | description |
| "Define a virtual link"; | | "Define a virtual link"; |
| leaf virtual-link-id { | | leaf virtual-link-id { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "Define a virtual link"; | | "Define a virtual link"; |
| } | | } |
| leaf hello-interval { | | leaf hello-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between HELLO packets"; | | "Time between HELLO packets"; |
| } | | } |
| leaf dead-interval { | | leaf dead-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| must "not(../dead-interval-minimal-hello-multiplier)"; | | must "not(../dead-interval-minimal-hello-multiplier)"; |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| leaf dead-interval-minimal-hello-multiplier { | | leaf dead-interval-minimal-hello-multiplier { |
| type uint32 { | | type uint32 { |
| range "3..20" { | | range "3..20" { |
| description | | description |
| "Multiplier"; | | "Multiplier"; |
| } | | } |
| } | | } |
| must "not(../dead-interval)"; | | must "not(../dead-interval)"; |
| description | | description |
| "Set multiplier for Hellos"; | | "Set multiplier for Hellos"; |
| } | | } |
| leaf retransmit-interval { | | leaf retransmit-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Delay between LSA retransmissions"; | | "Delay between LSA retransmissions"; |
| } | | } |
| leaf transmit-delay { | | leaf transmit-delay { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Link state transmit delay"; | | "Link state transmit delay"; |
| } | | } |
| container authentication-key { | | container authentication-key { |
| description | | description |
| "Authentication password (key)"; | | "Authentication password (key)"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| container message-digest-keys { | | container message-digest-keys { |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| list message-digest-key { | | list message-digest-key { |
| key "message-digest-key-id"; | | key "message-digest-key-id"; |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| leaf message-digest-key-id { | | leaf message-digest-key-id { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Key ID"; | | "Key ID"; |
| } | | } |
| } | | } |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| } | | } |
| container md5 { | | container md5 { |
| description | | description |
| "Use MD5 algorithm"; | | "Use MD5 algorithm"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication { | | container authentication { |
| presence "Indicates a authentication node is configured."; | | presence "Indicates a authentication node is configured."; |
| description | | description |
| "Enable authentication"; | | "Enable authentication"; |
| container message-digest { | | container message-digest { |
| must "not(../null or ../keychain)"; | | must "not(../null or ../keychain)"; |
| presence "Indicates a message-digest node is configured."; | | presence "Indicates a message-digest node is configured."; |
| description | | description |
| "Use message-digest authentication"; | | "Use message-digest authentication"; |
| } | | } |
| container keychain { | | container keychain { |
| must "../keychain-name"; | | must "../keychain-name"; |
| presence "Indicates a keychain node is configured."; | | presence "Indicates a keychain node is configured."; |
| description | | description |
| "Use keychain"; | | "Use keychain"; |
| } | | } |
| leaf keychain-name { | | leaf keychain-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "The keychain name"; | | "The keychain name"; |
| } | | } |
| } | | } |
| must "(../message-digest or ../keychain) and not(../null)"; | | must "(../message-digest or ../keychain) and not(../null)"; |
| description | | description |
| "Specify keychain name"; | | "Specify keychain name"; |
| } | | } |
| container null { | | container null { |
| must "not(../message-digest or ../keychain)"; | | must "not(../message-digest or ../keychain)"; |
| presence "Indicates a null node is configured."; | | presence "Indicates a null node is configured."; |
| description | | description |
| "Use no authentication"; | | "Use no authentication"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container sham-links { | | container sham-links { |
| description | | description |
| "Define a sham link"; | | "Define a sham link"; |
| list sham-link { | | list sham-link { |
| key "local-address remote-address"; | | key "local-address remote-address"; |
| description | | description |
| "Define a sham link"; | | "Define a sham link"; |
| leaf local-address { | | leaf local-address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "Address of the local sham-link endpoint"; | | "Address of the local sham-link endpoint"; |
| } | | } |
| leaf remote-address { | | leaf remote-address { |
| type inet:ipv4-address-no-zone; | | type inet:ipv4-address-no-zone; |
| description | | description |
| "Address of the remote sham-link endpoint"; | | "Address of the remote sham-link endpoint"; |
| } | | } |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Cost"; | | "Cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Sham-link cost"; | | "Sham-link cost"; |
| } | | } |
| leaf hello-interval { | | leaf hello-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between HELLO packets"; | | "Time between HELLO packets"; |
| } | | } |
| leaf dead-interval { | | leaf dead-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| must "not(../dead-interval-minimal-hello-multiplier)"; | | must "not(../dead-interval-minimal-hello-multiplier)"; |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| leaf dead-interval-minimal-hello-multiplier { | | leaf dead-interval-minimal-hello-multiplier { |
| type uint32 { | | type uint32 { |
| range "3..20" { | | range "3..20" { |
| description | | description |
| "Multiplier"; | | "Multiplier"; |
| } | | } |
| } | | } |
| must "not(../dead-interval)"; | | must "not(../dead-interval)"; |
| description | | description |
| "Set multiplier for Hellos"; | | "Set multiplier for Hellos"; |
| } | | } |
| leaf retransmit-interval { | | leaf retransmit-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Delay between LSA retransmissions"; | | "Delay between LSA retransmissions"; |
| } | | } |
| leaf transmit-delay { | | leaf transmit-delay { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Link state transmit delay"; | | "Link state transmit delay"; |
| } | | } |
| container authentication-key { | | container authentication-key { |
| description | | description |
| "Authentication password (key)"; | | "Authentication password (key)"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| container message-digest-keys { | | container message-digest-keys { |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| list message-digest-key { | | list message-digest-key { |
| key "message-digest-key-id"; | | key "message-digest-key-id"; |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| leaf message-digest-key-id { | | leaf message-digest-key-id { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Key ID"; | | "Key ID"; |
| } | | } |
| } | | } |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| } | | } |
| container md5 { | | container md5 { |
| description | | description |
| "Use MD5 algorithm"; | | "Use MD5 algorithm"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication { | | container authentication { |
| presence "Indicates a authentication node is configured."; | | presence "Indicates a authentication node is configured."; |
| description | | description |
| "Enable authentication"; | | "Enable authentication"; |
| container message-digest { | | container message-digest { |
| must "not(../null or ../keychain)"; | | must "not(../null or ../keychain)"; |
| presence "Indicates a message-digest node is configured."; | | presence "Indicates a message-digest node is configured."; |
| description | | description |
| "Use message-digest authentication"; | | "Use message-digest authentication"; |
| } | | } |
| container keychain { | | container keychain { |
| must "../keychain-name"; | | must "../keychain-name"; |
| presence "Indicates a keychain node is configured."; | | presence "Indicates a keychain node is configured."; |
| description | | description |
| "Use keychain"; | | "Use keychain"; |
| } | | } |
| leaf keychain-name { | | leaf keychain-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "The keychain name"; | | "The keychain name"; |
| } | | } |
| } | | } |
| must "(../message-digest or ../keychain) and not(../null)"; | | must "(../message-digest or ../keychain) and not(../null)"; |
| description | | description |
| "Specify keychain name"; | | "Specify keychain name"; |
| } | | } |
| container null { | | container null { |
| must "not(../message-digest or ../keychain)"; | | must "not(../message-digest or ../keychain)"; |
| presence "Indicates a null node is configured."; | | presence "Indicates a null node is configured."; |
| description | | description |
| "Use no authentication"; | | "Use no authentication"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication-key { | | container authentication-key { |
| description | | description |
| "Authentication password (key)"; | | "Authentication password (key)"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| container message-digest-keys { | | container message-digest-keys { |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| list message-digest-key { | | list message-digest-key { |
| key "message-digest-key-id"; | | key "message-digest-key-id"; |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| leaf message-digest-key-id { | | leaf message-digest-key-id { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Key ID"; | | "Key ID"; |
| } | | } |
| } | | } |
| description | | description |
| "Message digest authentication password (key)"; | | "Message digest authentication password (key)"; |
| } | | } |
| container md5 { | | container md5 { |
| description | | description |
| "Use MD5 algorithm"; | | "Use MD5 algorithm"; |
| leaf encrypted { | | leaf encrypted { |
| type xr:Proprietary-password; | | type xr:Proprietary-password; |
| mandatory true; | | mandatory true; |
| description | | description |
| "Specifies an ENCRYPTED password (key) will follow"; | | "Specifies an ENCRYPTED password (key) will follow"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container authentication { | | container authentication { |
| presence "Indicates a authentication node is configured."; | | presence "Indicates a authentication node is configured."; |
| description | | description |
| "Enable authentication"; | | "Enable authentication"; |
| container message-digest { | | container message-digest { |
| must "not(../null or ../keychain)"; | | must "not(../null or ../keychain)"; |
| presence "Indicates a message-digest node is configured."; | | presence "Indicates a message-digest node is configured."; |
| description | | description |
| "Use message-digest authentication"; | | "Use message-digest authentication"; |
| } | | } |
| container keychain { | | container keychain { |
| must "../keychain-name"; | | must "../keychain-name"; |
| presence "Indicates a keychain node is configured."; | | presence "Indicates a keychain node is configured."; |
| description | | description |
| "Use keychain"; | | "Use keychain"; |
| } | | } |
| leaf keychain-name { | | leaf keychain-name { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "The keychain name"; | | "The keychain name"; |
| } | | } |
| } | | } |
| must "(../message-digest or ../keychain) and not(../null)"; | | must "(../message-digest or ../keychain) and not(../null)"; |
| description | | description |
| "Specify keychain name"; | | "Specify keychain name"; |
| } | | } |
| container null { | | container null { |
| must "not(../message-digest or ../keychain)"; | | must "not(../message-digest or ../keychain)"; |
| presence "Indicates a null node is configured."; | | presence "Indicates a null node is configured."; |
| description | | description |
| "Use no authentication"; | | "Use no authentication"; |
| } | | } |
| } | | } |
| container network { | | container network { |
| description | | description |
| "Network type"; | | "Network type"; |
| container broadcast { | | container broadcast { |
| presence "Indicates a broadcast node is configured."; | | presence "Indicates a broadcast node is configured."; |
| description | | description |
| "Specify OSPF broadcast multi-access network"; | | "Specify OSPF broadcast multi-access network"; |
| } | | } |
| container non-broadcast { | | container non-broadcast { |
| presence "Indicates a non-broadcast node is configured."; | | presence "Indicates a non-broadcast node is configured."; |
| description | | description |
| "Specify OSPF NBMA network"; | | "Specify OSPF NBMA network"; |
| } | | } |
| container point-to-point { | | container point-to-point { |
| presence "Indicates a point-to-point node is configured."; | | presence "Indicates a point-to-point node is configured."; |
| description | | description |
| "Specify OSPF point-to-point network"; | | "Specify OSPF point-to-point network"; |
| } | | } |
| container point-to-multipoint { | | container point-to-multipoint { |
| presence "Indicates a point-to-multipoint node is configured."; | | presence "Indicates a point-to-multipoint node is configured."; |
| description | | description |
| "Specify OSPF point-to-multipoint network"; | | "Specify OSPF point-to-multipoint network"; |
| } | | } |
| } | | } |
| container mpls { | | container mpls { |
| description | | description |
| "Configure MPLS routing protocol parameters"; | | "Configure MPLS routing protocol parameters"; |
| container ldp { | | container ldp { |
| description | | description |
| "Configure LDP parameters"; | | "Configure LDP parameters"; |
| container sync { | | container sync { |
| presence "Indicates a sync node is configured."; | | presence "Indicates a sync node is configured."; |
| description | | description |
| "Enable LDP IGP synchronization"; | | "Enable LDP IGP synchronization"; |
| } | | } |
| } | | } |
| } | | } |
| leaf cost { | | leaf cost { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Cost"; | | "Cost"; |
| } | | } |
| } | | } |
| description | | description |
| "Interface cost"; | | "Interface cost"; |
| } | | } |
| container cost-fallback { | | container cost-fallback { |
| description | | description |
| "Cost fallback when anomaly is detected"; | | "Cost fallback when anomaly is detected"; |
| container anomaly { | | container anomaly { |
| description | | description |
| "Penalty when a delay or loss is notified"; | | "Penalty when a delay or loss is notified"; |
| container delay { | | container delay { |
| description | | description |
| "Penalty when a delay is notified"; | | "Penalty when a delay is notified"; |
| container igp-metric { | | container igp-metric { |
| description | | description |
| "Penalty on IGP metric"; | | "Penalty on IGP metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..65534" { | | range "1..65534" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must "not(../multiplier or ../value)"; | | must "not(../multiplier or ../value)"; |
| description | | description |
| "Increment the IGP cost by the specified value"; | | "Increment the IGP cost by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must "not(../increment or ../value)"; | | must "not(../increment or ../value)"; |
| description | | description |
| "Multiply the IGP cost by the specified value"; | | "Multiply the IGP cost by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must "not(../increment or ../multiplier)"; | | must "not(../increment or ../multiplier)"; |
| description | | description |
| "Set the IGP cost to the specified value"; | | "Set the IGP cost to the specified value"; |
| } | | } |
| } | | } |
| container te-metric { | | container te-metric { |
| description | | description |
| "Penalty on TE metric"; | | "Penalty on TE metric"; |
| leaf increment { | | leaf increment { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Increment by this value"; | | "Increment by this value"; |
| } | | } |
| } | | } |
| must "not(../multiplier or ../value)"; | | must "not(../multiplier or ../value)"; |
| description | | description |
| "Increment the TE metric by the specified value"; | | "Increment the TE metric by the specified value"; |
| } | | } |
| leaf multiplier { | | leaf multiplier { |
| type uint32 { | | type uint32 { |
| range "1..255" { | | range "1..255" { |
| description | | description |
| "Multiply by this value"; | | "Multiply by this value"; |
| } | | } |
| } | | } |
| must "not(../increment or ../value)"; | | must "not(../increment or ../value)"; |
| description | | description |
| "Multiply the TE metric by the specified value"; | | "Multiply the TE metric by the specified value"; |
| } | | } |
| leaf value { | | leaf value { |
| type uint32 { | | type uint32 { |
| range "1..4294967295" { | | range "1..4294967295" { |
| description | | description |
| "Set to this value"; | | "Set to this value"; |
| } | | } |
| } | | } |
| must "not(../increment or ../multiplier)"; | | must "not(../increment or ../multiplier)"; |
| description | | description |
| "Set the TE cost to the specified value"; | | "Set the TE cost to the specified value"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf hello-interval { | | leaf hello-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between HELLO packets"; | | "Time between HELLO packets"; |
| } | | } |
| leaf dead-interval { | | leaf dead-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| must "not(../dead-interval-minimal-hello-multiplier)"; | | must "not(../dead-interval-minimal-hello-multiplier)"; |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| leaf dead-interval-minimal-hello-multiplier { | | leaf dead-interval-minimal-hello-multiplier { |
| type uint32 { | | type uint32 { |
| range "3..20" { | | range "3..20" { |
| description | | description |
| "Multiplier"; | | "Multiplier"; |
| } | | } |
| } | | } |
| must "not(../dead-interval)"; | | must "not(../dead-interval)"; |
| description | | description |
| "Set multiplier for Hellos"; | | "Set multiplier for Hellos"; |
| } | | } |
| leaf priority { | | leaf priority { |
| type uint32 { | | type uint32 { |
| range "0..255" { | | range "0..255" { |
| description | | description |
| "Priority"; | | "Priority"; |
| } | | } |
| } | | } |
| description | | description |
| "Router priority"; | | "Router priority"; |
| } | | } |
| leaf retransmit-interval { | | leaf retransmit-interval { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Time between retransmitting lost link state advertisements"; | | "Time between retransmitting lost link state advertisements"; |
| } | | } |
| leaf transmit-delay { | | leaf transmit-delay { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Seconds"; | | "Seconds"; |
| } | | } |
| } | | } |
| description | | description |
| "Estimated time needed to send link-state update packet"; | | "Estimated time needed to send link-state update packet"; |
| } | | } |
| container flood-reduction { | | container flood-reduction { |
| description | | description |
| "Enable/Disable OSPF Flood Reduction"; | | "Enable/Disable OSPF Flood Reduction"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable OSPF Flood Reduction"; | | "Enable OSPF Flood Reduction"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable OSPF Flood Reduction"; | | "Disable OSPF Flood Reduction"; |
| } | | } |
| } | | } |
| container demand-circuit { | | container demand-circuit { |
| description | | description |
| "Enable/Disable OSPF demand circuit"; | | "Enable/Disable OSPF demand circuit"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable OSPF demand circuit"; | | "Enable OSPF demand circuit"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable OSPF demand circuit"; | | "Disable OSPF demand circuit"; |
| } | | } |
| } | | } |
| container mtu-ignore { | | container mtu-ignore { |
| description | | description |
| "Enable/Disable ignoring of MTU in DBD packets"; | | "Enable/Disable ignoring of MTU in DBD packets"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Ignores the MTU in DBD packets"; | | "Ignores the MTU in DBD packets"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable ignoring the MTU in DBD packets"; | | "Disable ignoring the MTU in DBD packets"; |
| } | | } |
| } | | } |
| container database-filter { | | container database-filter { |
| description | | description |
| "Filter OSPF LSA during synchronization and flooding"; | | "Filter OSPF LSA during synchronization and flooding"; |
| container all { | | container all { |
| description | | description |
| "Filter all LSA"; | | "Filter all LSA"; |
| container out { | | container out { |
| description | | description |
| "Outgoing LSA"; | | "Outgoing LSA"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable filtering"; | | "Enable filtering"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable filtering"; | | "Disable filtering"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| container passive { | | container passive { |
| description | | description |
| "Enable/Disable passive"; | | "Enable/Disable passive"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable passive"; | | "Enable passive"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable passive"; | | "Disable passive"; |
| } | | } |
| } | | } |
| container external-out { | | container external-out { |
| description | | description |
| "Enable/Disable advertisement of intra-area prefixes as external"; | | "Enable/Disable advertisement of intra-area prefixes as external"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertisement of intra-area routes as external"; | | "Enable advertisement of intra-area routes as external"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertisement of intra-area routes as external"; | | "Disable advertisement of intra-area routes as external"; |
| } | | } |
| } | | } |
| container summary-in { | | container summary-in { |
| description | | description |
| "Enable/Disable advertisement of external prefixes as inter-area"; | | "Enable/Disable advertisement of external prefixes as inter-area"; |
| container enable { | | container enable { |
| must "not(../disable)"; | | must "not(../disable)"; |
| presence "Indicates a enable node is configured."; | | presence "Indicates a enable node is configured."; |
| description | | description |
| "Enable advertisement of external prefixes as inter-area"; | | "Enable advertisement of external prefixes as inter-area"; |
| } | | } |
| container disable { | | container disable { |
| must "not(../enable)"; | | must "not(../enable)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable advertisement of external prefixes as inter-area"; | | "Disable advertisement of external prefixes as inter-area"; |
| } | | } |
| } | | } |
| container adjacency { | | container adjacency { |
| description | | description |
| "OSPF adjacency bring up"; | | "OSPF adjacency bring up"; |
| container stagger { | | container stagger { |
| description | | description |
| "Stagger OSPF adjacency bring up"; | | "Stagger OSPF adjacency bring up"; |
| container disable { | | container disable { |
| must "not(../initial-number-of-neighbors)"; | | must "not(../initial-number-of-neighbors)"; |
| presence "Indicates a disable node is configured."; | | presence "Indicates a disable node is configured."; |
| description | | description |
| "Disable stagger OSPF adjacency bring up"; | | "Disable stagger OSPF adjacency bring up"; |
| } | | } |
| leaf initial-number-of-neighbors { | | leaf initial-number-of-neighbors { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Initial number of neighbors to bring up per area (default 2)"; | | "Initial number of neighbors to bring up per area (default 2)"; |
| } | | } |
| } | | } |
| must "not(../disable)"; | | must "not(../disable)"; |
| description | | description |
| "Initial number of neighbors to bring up per area (default 2)"; | | "Initial number of neighbors to bring up per area (default 2)"; |
| } | | } |
| leaf maximum-simultaneous-neighbors { | | leaf maximum-simultaneous-neighbors { |
| type uint32 { | | type uint32 { |
| range "1..65535" { | | range "1..65535" { |
| description | | description |
| "Maximum simultaneous neighbors to bring up (default 64)"; | | "Maximum simultaneous neighbors to bring up (default 64)"; |
| } | | } |
| } | | } |
| must "../initial-number-of-neighbors"; | | must "../initial-number-of-neighbors"; |
| description | | description |
| "Maximum simultaneous neighbors to bring up (default 64)"; | | "Maximum simultaneous neighbors to bring up (default 64)"; |
| } | | } |
| } | | } |
| } | | } |
| container snmp { | | container snmp { |
| description | | description |
| "SNMP configuration"; | | "SNMP configuration"; |
| leaf context { | | leaf context { |
| type string { | | type string { |
| length "1..32" { | | length "1..32" { |
| description | | description |
| "SNMP context name"; | | "SNMP context name"; |
| } | | } |
| pattern "[a-zA-Z0-9*/_]+"; | | pattern "[a-zA-Z0-9*/_]+"; |
| } | | } |
| description | | description |
| "Specified SNMP context for OSPF instance"; | | "Specified SNMP context for OSPF instance"; |
| } | | } |
| container trap { | | container trap { |
| presence "Indicates a trap node is configured."; | | presence "Indicates a trap node is configured."; |
| description | | description |
| "Enable SNMP trap for OSPF instance"; | | "Enable SNMP trap for OSPF instance"; |
| } | | } |
| } | | } |
| container ucmp { | | container ucmp { |
| description | | description |
| "Unequal Cost Load Balancing"; | | "Unequal Cost Load Balancing"; |
| container enable { | | container enable { |
| presence "Indicates a ucmp node is configured."; | | presence "Indicates a ucmp node is configured."; |
| description | | description |
| "Enable ucmp"; | | "Enable ucmp"; |
| leaf variance { | | leaf variance { |
| type uint32 { | | type uint32 { |
| range "101..10000" { | | range "101..10000" { |
| description | | description |
| "Percentage of the primary path metric"; | | "Percentage of the primary path metric"; |
| } | | } |
| } | | } |
| default "200"; | | default "200"; |
| description | | description |
| "Set the Variance for UCMP path metric"; | | "Set the Variance for UCMP path metric"; |
| } | | } |
| leaf prefix-list { | | leaf prefix-list { |
| type string { | | type string { |
| length "1..1024" { | | length "1..1024" { |
| description | | description |
| "Prefix-list name"; | | "Prefix-list name"; |
| } | | } |
| } | | } |
| description | | description |
| "Filter prefixes for which UCMP path are calculated"; | | "Filter prefixes for which UCMP path are calculated"; |
| } | | } |
| } | | } |
| container exclude { | | container exclude { |
| description | | description |
| "UCMP exclusion information"; | | "UCMP exclusion information"; |
| container interfaces { | | container interfaces { |
| description | | description |
| "Exclude an interface during UCMP computation"; | | "Exclude an interface during UCMP computation"; |
| list interface { | | list interface { |
| key "interface-name"; | | key "interface-name"; |
| description | | description |
| "Exclude an interface during UCMP computation"; | | "Exclude an interface during UCMP computation"; |
| leaf interface-name { | | leaf interface-name { |
| type xr:Interface-name; | | type xr:Interface-name; |
| description | | description |
| "Exclude an interface during UCMP computation"; | | "Exclude an interface during UCMP computation"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| leaf delay-interval { | | leaf delay-interval { |
| type uint32 { | | type uint32 { |
| range "1..5000" { | | range "1..5000" { |
| description | | description |
| "ms"; | | "ms"; |
| } | | } |
| } | | } |
| description | | description |
| "Interval between SPF and start of the UCMP calculation"; | | "Interval between SPF and start of the UCMP calculation"; |
| } | | } |
| } | | } |
| container apply-weight { | | container apply-weight { |
| description | | description |
| "Enable weights configured under interfaces for load sharing"; | | "Enable weights configured under interfaces for load sharing"; |
| leaf bandwidth { | | leaf bandwidth { |
| type uint32 { | | type uint32 { |
| range "1..4294967" { | | range "1..4294967" { |
| description | | description |
| "Reference bandwidth to use for calculation (Mbits/sec)"; | | "Reference bandwidth to use for calculation (Mbits/sec)"; |
| } | | } |
| } | | } |
| description | | description |
| "Use interface bandwidth when calculating weights"; | | "Use interface bandwidth when calculating weights"; |
| } | | } |
| leaf default-weight { | | leaf default-weight { |
| type uint32 { | | type uint32 { |
| range "1..16777214" { | | range "1..16777214" { |
| description | | description |
| "Weight to use when it is not configured under interface"; | | "Weight to use when it is not configured under interface"; |
| } | | } |
| } | | } |
| description | | description |
| "Specify default weight value"; | | "Specify default weight value"; |
| } | | } |
| } | | } |
| container max-external-lsa { | | container max-external-lsa { |
| presence "Indicates a max-extern-lsa node is configured."; | | presence "Indicates a max-extern-lsa node is configured."; |
| description | | description |
| "Maximum number of external LSAs OSPF process will receive"; | | "Maximum number of external LSAs OSPF process will receive"; |
| leaf max-external-lsa { | | leaf max-external-lsa { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Maximum number of external LSAs per ASBR this OSPF instance can receive"; | | "Maximum number of external LSAs per ASBR this OSPF instance can receive"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Maximum number of External LSAs per ASBR"; | | "Maximum number of External LSAs per ASBR"; |
| } | | } |
| leaf threshold-value { | | leaf threshold-value { |
| type uint32 { | | type uint32 { |
| range "1..100" { | | range "1..100" { |
| description | | description |
| "Threshold value (%) at which to generate a warning msg"; | | "Threshold value (%) at which to generate a warning msg"; |
| } | | } |
| } | | } |
| description | | description |
| "Threshold value (%) at which to generate a warning msg"; | | "Threshold value (%) at which to generate a warning msg"; |
| } | | } |
| container suppress-neighbor { | | container suppress-neighbor { |
| must "not(../warning-only)"; | | must "not(../warning-only)"; |
| presence "Indicates a suppress-neighbor node is configured."; | | presence "Indicates a suppress-neighbor node is configured."; |
| description | | description |
| "Suppress the neighbor when limit is crossed"; | | "Suppress the neighbor when limit is crossed"; |
| } | | } |
| container warning-only { | | container warning-only { |
| must "not(../suppress-neighbor)"; | | must "not(../suppress-neighbor)"; |
| presence "Indicates a warning-only node is configured."; | | presence "Indicates a warning-only node is configured."; |
| description | | description |
| "Only give warning message when limit is exceeded"; | | "Only give warning message when limit is exceeded"; |
| } | | } |
| } | | } |
| container exchange-timer { | | container exchange-timer { |
| presence "Indicates a exchange hold timer is configured."; | | presence "Indicates a exchange hold timer is configured."; |
| description | | description |
| "Time after which interface will be brought down or up."; | | "Time after which interface will be brought down or up."; |
| leaf exchange-timer { | | leaf exchange-timer { |
| type uint32 { | | type uint32 { |
| range "1..35791394" { | | range "1..35791394" { |
| description | | description |
| "Exchange time in minutes"; | | "Exchange time in minutes"; |
| } | | } |
| } | | } |
| mandatory true; | | mandatory true; |
| description | | description |
| "Time in minutes after which interface will be brought down if adjacency is stuck in exchange/loading"; | | "Time in minutes after which interface will be brought down if adjacency is stuck in exchange/loading"; |
| } | | } |
| leaf hold-time { | | leaf hold-time { |
| type uint32 { | | type uint32 { |
| range "1..35791394" { | | range "1..35791394" { |
| description | | description |
| "Recovery time in minutes"; | | "Recovery time in minutes"; |
| } | | } |
| } | | } |
| description | | description |
| "Time in minutes after which interface will be brought up to recover adjacencies"; | | "Time in minutes after which interface will be brought up to recover adjacencies"; |
| } | | } |
| leaf recovery-count { | | leaf recovery-count { |
| type uint32 { | | type uint32 { |
| range "1..4294967294" { | | range "1..4294967294" { |
| description | | description |
| "Recovery count value"; | | "Recovery count value"; |
| } | | } |
| } | | } |
| description | | description |
| "Number of times recovery will be attempted before the interface is made permanently down"; | | "Number of times recovery will be attempted before the interface is made permanently down"; |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| } | | } |